
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int crl2pkcs7_main(int argc,char **argv)

{
  pkcs7_st *ppVar1;
  bool bVar2;
  int *piVar3;
  int iVar4;
  char *s;
  X509_CRL *p7;
  BIO *pBVar5;
  ASN1_OBJECT *pAVar6;
  stack_st_X509_CRL *psVar7;
  undefined1 *result;
  X509_CRL *pXVar8;
  X509_INFO *a;
  X509_CRL *extraout_EDX;
  int *extraout_EDX_00;
  int *extraout_EDX_01;
  int *extraout_EDX_02;
  X509_CRL *a_00;
  int in_GS_OFFSET;
  char *pcVar9;
  int local_4c;
  int local_48;
  BIO *local_44;
  char *local_40;
  int local_3c;
  int informat;
  int outformat;
  int local_20;
  undefined4 uStack_14;
  
  bVar2 = false;
  uStack_14 = 0x3765b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  informat = 0x8005;
  outformat = 0x8005;
  result = crl2pkcs7_options;
  piVar3 = (int *)opt_init(argc,argv,(OPTIONS *)crl2pkcs7_options);
  local_40 = (char *)0x0;
  local_44 = (BIO *)0x0;
  local_4c = 0;
  pcVar9 = (char *)argv;
_L2:
  iVar4 = opt_next();
  if (iVar4 == 0) {
    iVar4 = opt_num_rest();
    if (iVar4 == 0) {
      if (!bVar2) {
        pcVar9 = (char *)0x72;
        result = (undefined1 *)informat;
        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);
        if (local_44 == (BIO *)0x0) {
          a_00 = (X509_CRL *)0x0;
          p7 = (X509_CRL *)0x0;
          pBVar5 = (BIO *)0x0;
          local_48 = 1;
        }
        else {
          if (informat == 4) {
            pcVar9 = (char *)0x0;
            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);
LAB_00037aa8:
            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;
          }
          else if (informat == 0x8005) {
            result = (undefined1 *)0x0;
            pcVar9 = (char *)0x0;
            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);
            goto LAB_00037aa8;
          }
          p7 = (X509_CRL *)0x0;
          pBVar5 = (BIO *)0x0;
          pcVar9 = "unable to load CRL\n";
          BIO_printf((BIO *)bio_err,"unable to load CRL\n");
          a_00 = (X509_CRL *)0x0;
          ERR_print_errors((BIO *)bio_err);
          local_48 = 1;
        }
        goto LAB_00037731;
      }
      local_44 = (BIO *)0x0;
      a_00 = (X509_CRL *)0x0;
LAB_00037873:
      p7 = (X509_CRL *)PKCS7_new();
      if (p7 != (X509_CRL *)0x0) {
        pBVar5 = (BIO *)PKCS7_SIGNED_new();
        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;
        pAVar6 = OBJ_nid2obj(0x16);
        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;
        ppVar1 = (pkcs7_st *)pBVar5->flags;
        p7->flags = (int)pAVar6;
        pAVar6 = OBJ_nid2obj(0x15);
        ppVar1->type = pAVar6;
        pcVar9 = (char *)0x1;
        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);
        if (iVar4 == 0) {
          local_48 = 1;
          pBVar5 = (BIO *)0x0;
          goto LAB_00037731;
        }
        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();
        if (psVar7 != (stack_st_X509_CRL *)0x0) {
          pBVar5->init = (int)psVar7;
          if (a_00 != (X509_CRL *)0x0) {
            OPENSSL_sk_push(psVar7,a_00);
            pcVar9 = (char *)a_00;
          }
          a_00 = (X509_CRL *)OPENSSL_sk_new_null();
          if (a_00 != (X509_CRL *)0x0) {
            pBVar5->cb_arg = (char *)a_00;
            local_3c = 0;
            pXVar8 = a_00;
            if (local_4c != 0) goto LAB_00037930;
            local_3c = local_4c;
            goto LAB_00037ade;
          }
        }
      }
      pBVar5 = (BIO *)0x0;
      local_48 = 1;
      goto LAB_00037731;
    }
    goto _L12;
  }
  switch(iVar4) {
  default:
    goto _L2;
  case 1:
    p7 = (X509_CRL *)0x0;
    pBVar5 = (BIO *)0x0;
    a_00 = (X509_CRL *)0x0;
    opt_help((OPTIONS *)crl2pkcs7_options);
    local_48 = 0;
    local_44 = (BIO *)0x0;
    goto LAB_00037731;
  case 2:
    s = opt_arg();
    result = (undefined1 *)&informat;
    break;
  case 3:
    s = opt_arg();
    result = (undefined1 *)&outformat;
    break;
  case 4:
    local_44 = (BIO *)opt_arg();
    goto _L2;
  case 5:
    local_40 = opt_arg();
    goto _L2;
  case 6:
    bVar2 = true;
    goto _L2;
  case 7:
    if ((local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0)) {
      a_00 = (X509_CRL *)0x0;
      p7 = (X509_CRL *)0x0;
      pBVar5 = (BIO *)0x0;
      local_44 = (BIO *)0x0;
      local_48 = 1;
      goto LAB_00037731;
    }
    pcVar9 = opt_arg();
    iVar4 = OPENSSL_sk_push(local_4c,pcVar9);
    if (iVar4 == 0) goto LAB_0003771b;
    goto _L2;
  case -1:
    goto _L12;
  }
  pcVar9 = (char *)0x2;
  iVar4 = opt_format(s,2,(int *)result);
  if (iVar4 == 0) goto _L12;
  goto _L2;
LAB_00037930:
  iVar4 = OPENSSL_sk_num(local_4c);
  if (iVar4 <= local_3c) goto LAB_00037ade;
  result = (undefined1 *)OPENSSL_sk_value(local_4c,local_3c);
  pBVar5 = BIO_new_file(result,"r");
  if (pBVar5 == (BIO *)0x0) {
    BIO_printf((BIO *)bio_err,"error opening the file, %s\n",result,pXVar8);
    BIO_free((BIO *)0x0);
    OPENSSL_sk_free(0);
LAB_00037bb4:
    pcVar9 = "error loading certificates\n";
    pBVar5 = (BIO *)0x0;
    BIO_printf((BIO *)bio_err,"error loading certificates\n",result,pXVar8);
    a_00 = (X509_CRL *)0x0;
    ERR_print_errors((BIO *)bio_err);
    local_48 = 1;
    goto LAB_00037731;
  }
  pXVar8 = (X509_CRL *)
           PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);
  if (pXVar8 == (X509_CRL *)0x0) {
    pXVar8 = extraout_EDX;
    BIO_printf((BIO *)bio_err,"error reading the file, %s\n",result,extraout_EDX);
    BIO_free(pBVar5);
    OPENSSL_sk_free(0);
    goto LAB_00037bb4;
  }
  while (iVar4 = OPENSSL_sk_num(pXVar8), iVar4 != 0) {
    a = (X509_INFO *)OPENSSL_sk_shift(pXVar8);
    if (a->x509 != (X509 *)0x0) {
      OPENSSL_sk_push(a_00,a->x509);
      a->x509 = (X509 *)0x0;
    }
    X509_INFO_free(a);
  }
  BIO_free(pBVar5);
  OPENSSL_sk_free(pXVar8);
  local_3c = local_3c + 1;
  goto LAB_00037930;
LAB_00037ade:
  pcVar9 = (char *)0x77;
  result = (undefined1 *)outformat;
  pBVar5 = (BIO *)bio_open_default(local_40,'w',outformat);
  if (pBVar5 == (BIO *)0x0) {
    a_00 = (X509_CRL *)0x0;
LAB_00037a87:
    local_48 = 1;
  }
  else {
    if (outformat == 4) {
      pcVar9 = (char *)p7;
      result = (undefined1 *)outformat;
      local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);
      piVar3 = extraout_EDX_02;
    }
    else {
      piVar3 = extraout_EDX_00;
      if (outformat == 0x8005) {
        pcVar9 = (char *)p7;
        result = (undefined1 *)outformat;
        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);
        piVar3 = extraout_EDX_01;
      }
    }
    a_00 = (X509_CRL *)0x0;
    local_48 = 0;
    if (local_3c == 0) {
      pcVar9 = "unable to write pkcs7 object\n";
      BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);
      ERR_print_errors((BIO *)bio_err);
      local_48 = 1;
      result = (undefined1 *)piVar3;
    }
  }
  goto LAB_00037731;
_L12:
  pcVar9 = "%s: Use -help for summary.\n";
  BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",piVar3);
  result = (undefined1 *)piVar3;
LAB_0003771b:
  local_48 = 1;
  a_00 = (X509_CRL *)0x0;
  p7 = (X509_CRL *)0x0;
  pBVar5 = (BIO *)0x0;
  local_44 = (BIO *)0x0;
LAB_00037731:
  OPENSSL_sk_free(local_4c,pcVar9,result);
  BIO_free(local_44);
  BIO_free_all(pBVar5);
  PKCS7_free((PKCS7 *)p7);
  X509_CRL_free(a_00);
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return local_48;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int FUN_00037650(undefined4 param_1,char *param_2)

{
  bool bVar1;
  char *****pppppcVar2;
  int iVar3;
  undefined4 uVar4;
  X509_CRL *p7;
  BIO *pBVar5;
  ASN1_OBJECT *pAVar6;
  int iVar7;
  stack_st_X509_CRL *psVar8;
  int iVar9;
  undefined **filename;
  X509_CRL *pXVar10;
  X509_INFO *a;
  X509_CRL *extraout_EDX;
  char *****pppppcVar11;
  char *****extraout_EDX_00;
  char *****extraout_EDX_01;
  X509_CRL *a_00;
  int in_GS_OFFSET;
  undefined8 uVar12;
  int iVar13;
  undefined4 *puVar14;
  undefined4 uVar15;
  BIO *bp;
  undefined4 uVar16;
  char *****pppppcVar17;
  pkcs7_st *ppVar18;
  char ****local_28;
  char ****local_24;
  int local_20;
  undefined4 uStack_14;
  
  bVar1 = false;
  uStack_14 = 0x3765b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_28 = (char ****)0x8005;
  local_24 = (char ****)0x8005;
  filename = &PTR_DAT_000b6920;
  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);
  pppppcVar11 = &local_24;
  uVar16 = 0;
  pppppcVar17 = &local_28;
  uVar15 = 0;
  iVar13 = 0;
LAB_000376c0:
  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);
  if (iVar3 == 0) {
    iVar3 = FUN_00079110();
    if (iVar3 == 0) {
      if (!bVar1) {
        param_2 = (char *)0x72;
        filename = (undefined **)local_28;
        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);
        if (bp == (BIO *)0x0) {
          a_00 = (X509_CRL *)0x0;
          p7 = (X509_CRL *)0x0;
          pBVar5 = (BIO *)0x0;
          iVar3 = 1;
        }
        else {
          if ((char *****)local_28 == (char *****)0x4) {
            param_2 = (char *)0x0;
            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);
LAB_00037aa8:
            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;
          }
          else if ((char *****)local_28 == (char *****)0x8005) {
            filename = (undefined **)0x0;
            param_2 = (char *)0x0;
            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);
            goto LAB_00037aa8;
          }
          p7 = (X509_CRL *)0x0;
          pBVar5 = (BIO *)0x0;
          param_2 = "unable to load CRL\n";
          BIO_printf(DAT_000c458c,"unable to load CRL\n");
          a_00 = (X509_CRL *)0x0;
          ERR_print_errors(DAT_000c458c);
          iVar3 = 1;
        }
        goto LAB_00037731;
      }
      bp = (BIO *)0x0;
      a_00 = (X509_CRL *)0x0;
LAB_00037873:
      p7 = (X509_CRL *)PKCS7_new();
      if (p7 != (X509_CRL *)0x0) {
        pBVar5 = (BIO *)PKCS7_SIGNED_new();
        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;
        pAVar6 = OBJ_nid2obj(0x16);
        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;
        ppVar18 = (pkcs7_st *)pBVar5->flags;
        p7->flags = (int)pAVar6;
        pAVar6 = OBJ_nid2obj(0x15);
        ppVar18->type = pAVar6;
        param_2 = (char *)0x1;
        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);
        if (iVar7 == 0) {
          iVar3 = 1;
          pBVar5 = (BIO *)0x0;
          goto LAB_00037731;
        }
        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();
        if (psVar8 != (stack_st_X509_CRL *)0x0) {
          pBVar5->init = (int)psVar8;
          if (a_00 != (X509_CRL *)0x0) {
            OPENSSL_sk_push(psVar8,a_00);
            param_2 = (char *)a_00;
          }
          a_00 = (X509_CRL *)OPENSSL_sk_new_null();
          if (a_00 != (X509_CRL *)0x0) {
            pBVar5->cb_arg = (char *)a_00;
            iVar7 = 0;
            pXVar10 = a_00;
            if (iVar13 != 0) goto LAB_00037930;
            iVar7 = 0;
            goto LAB_00037ade;
          }
        }
      }
      pBVar5 = (BIO *)0x0;
      iVar3 = 1;
      goto LAB_00037731;
    }
    goto LAB_00037700;
  }
  switch(iVar3) {
  default:
    goto LAB_000376c0;
  case 1:
    p7 = (X509_CRL *)0x0;
    pBVar5 = (BIO *)0x0;
    a_00 = (X509_CRL *)0x0;
    FUN_00079140(&PTR_DAT_000b6920);
    iVar3 = 0;
    bp = (BIO *)0x0;
    goto LAB_00037731;
  case 2:
    filename = (undefined **)pppppcVar17;
    uVar4 = FUN_00078b30();
    pppppcVar17 = (char *****)filename;
    break;
  case 3:
    filename = (undefined **)pppppcVar11;
    uVar4 = FUN_00078b30();
    pppppcVar11 = (char *****)filename;
    break;
  case 4:
    uVar15 = FUN_00078b30();
    goto LAB_000376c0;
  case 5:
    uVar16 = FUN_00078b30();
    goto LAB_000376c0;
  case 6:
    bVar1 = true;
    goto LAB_000376c0;
  case 7:
    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {
      a_00 = (X509_CRL *)0x0;
      p7 = (X509_CRL *)0x0;
      pBVar5 = (BIO *)0x0;
      bp = (BIO *)0x0;
      iVar3 = 1;
      goto LAB_00037731;
    }
    param_2 = (char *)FUN_00078b30();
    iVar3 = OPENSSL_sk_push(iVar13,param_2);
    if (iVar3 == 0) goto code_r0x0003771b;
    goto LAB_000376c0;
  case -1:
    goto LAB_00037700;
  }
  param_2 = (char *)0x2;
  iVar3 = FUN_00077fb0(uVar4,2,filename);
  if (iVar3 == 0) goto LAB_00037700;
  goto LAB_000376c0;
LAB_00037930:
  iVar9 = OPENSSL_sk_num(iVar13);
  if (iVar9 <= iVar7) goto LAB_00037ade;
  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);
  pBVar5 = BIO_new_file((char *)filename,"r");
  if (pBVar5 == (BIO *)0x0) {
    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);
    BIO_free((BIO *)0x0);
    OPENSSL_sk_free(0);
LAB_00037bb4:
    param_2 = "error loading certificates\n";
    pBVar5 = (BIO *)0x0;
    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);
    a_00 = (X509_CRL *)0x0;
    ERR_print_errors(DAT_000c458c);
    iVar3 = 1;
    goto LAB_00037731;
  }
  pXVar10 = (X509_CRL *)
            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);
  if (pXVar10 == (X509_CRL *)0x0) {
    pXVar10 = extraout_EDX;
    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);
    BIO_free(pBVar5);
    OPENSSL_sk_free(0);
    goto LAB_00037bb4;
  }
  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {
    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);
    if (a->x509 != (X509 *)0x0) {
      OPENSSL_sk_push(a_00,a->x509);
      a->x509 = (X509 *)0x0;
    }
    X509_INFO_free(a);
  }
  BIO_free(pBVar5);
  OPENSSL_sk_free(pXVar10);
  iVar7 = iVar7 + 1;
  goto LAB_00037930;
LAB_00037ade:
  param_2 = (char *)0x77;
  filename = (undefined **)local_24;
  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);
  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);
  pBVar5 = (BIO *)uVar12;
  if (pBVar5 == (BIO *)0x0) {
    a_00 = (X509_CRL *)0x0;
LAB_00037a87:
    iVar3 = 1;
  }
  else {
    if ((char *****)local_24 == (char *****)0x4) {
      param_2 = (char *)p7;
      filename = (undefined **)local_24;
      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);
      pppppcVar11 = extraout_EDX_01;
    }
    else if ((char *****)local_24 == (char *****)0x8005) {
      param_2 = (char *)p7;
      filename = (undefined **)local_24;
      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);
      pppppcVar11 = extraout_EDX_00;
    }
    a_00 = (X509_CRL *)0x0;
    if (iVar7 == 0) {
      param_2 = "unable to write pkcs7 object\n";
      puVar14 = &DAT_000c458c;
      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);
      ERR_print_errors((BIO *)*puVar14);
      iVar3 = 1;
      filename = (undefined **)pppppcVar11;
    }
  }
  goto LAB_00037731;
LAB_00037700:
  param_2 = "%s: Use -help for summary.\n";
  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);
  filename = (undefined **)pppppcVar2;
code_r0x0003771b:
  iVar3 = 1;
  a_00 = (X509_CRL *)0x0;
  p7 = (X509_CRL *)0x0;
  pBVar5 = (BIO *)0x0;
  bp = (BIO *)0x0;
LAB_00037731:
  OPENSSL_sk_free(iVar13,param_2,filename);
  BIO_free(bp);
  BIO_free_all(pBVar5);
  PKCS7_free((PKCS7 *)p7);
  X509_CRL_free(a_00);
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar3;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0007d010();
}


PUSH EBP
PUSH EDI
XOR EDI,EDI
PUSH ESI
PUSH EBX
CALL 0x0002c7d0
ADD EBX,0x8541d
SUB ESP,0x40
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x30],EAX
XOR EAX,EAX
MOV dword ptr [ESP + 0x28],0x8005
MOV dword ptr [ESP + 0x2c],0x8005
LEA ESI,[EBX + 0xffff9ea8]
PUSH ESI
PUSH dword ptr [ESP + 0x5c]
PUSH dword ptr [ESP + 0x5c]
CALL 0x00077e50
ADD ESP,0x10
MOV EBP,EAX
LEA EAX,[ESP + 0x28]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x4],EAX
LEA EAX,[ESP + 0x24]
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0x10],EAX
CALL 0x00078780
TEST EAX,EAX
JZ 0x00037850
ADD EAX,0x1
CMP EAX,0x8
JA 0x000376c0
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfffc50cc]
ADD ECX,EBX
JMP ECX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc16e9]
PUSH EBP
PUSH EAX
LEA EAX,[EBX + 0x7b14]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD ESP,0x10
MOV dword ptr [ESP + 0x4],0x1
XOR ESI,ESI
XOR EBP,EBP
XOR EDI,EDI
MOV dword ptr [ESP + 0x8],0x0
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x0002b760
POP EAX
PUSH dword ptr [ESP + 0x14]
CALL 0x0002b860
MOV dword ptr [ESP],EDI
CALL 0x0002a850
MOV dword ptr [ESP],EBP
CALL 0x0002c2b0
MOV dword ptr [ESP],ESI
CALL 0x0002c2a0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x4]
MOV EDX,dword ptr [ESP + 0x2c]
XOR EDX,dword ptr GS:[0x14]
JNZ 0x00037b56
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CALL 0x00079110
MOV dword ptr [ESP + 0x4],EAX
TEST EAX,EAX
JNZ 0x00037700
TEST EDI,EDI
JZ 0x000379fd
MOV dword ptr [ESP + 0x8],0x0
XOR ESI,ESI
CALL 0x0002b700
MOV EBP,EAX
TEST EAX,EAX
JZ 0x00037a67
CALL 0x0002a000
MOV EDI,EAX
TEST EAX,EAX
JZ 0x00037a87
SUB ESP,0xc
PUSH 0x16
CALL 0x0002b6f0
MOV dword ptr [EBP + 0x14],EDI
MOV EDX,dword ptr [EDI + 0x14]
MOV dword ptr [EBP + 0x10],EAX
MOV dword ptr [ESP + 0x20],EDX
MOV dword ptr [ESP],0x15
CALL 0x0002b6f0
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [EDX + 0x10],EAX
POP EAX
POP EDX
PUSH 0x1
PUSH dword ptr [EDI]
CALL 0x0002b740
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00037a76
CALL 0x00028b20
TEST EAX,EAX
JZ 0x00037a67
MOV dword ptr [EDI + 0xc],EAX
TEST ESI,ESI
JZ 0x000378f2
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x0002a990
ADD ESP,0x10
CALL 0x00028b20
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00037a67
MOV ECX,dword ptr [ESP]
MOV dword ptr [EDI + 0x8],EAX
LEA EAX,[EBX + 0xfffca2ea]
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x18],EAX
TEST ECX,ECX
JZ 0x00037b4d
MOV dword ptr [ESP + 0x1c],EBP
MOV EDI,ESI
LEA ESI,[ESI]
NOP
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x0002b920
ADD ESP,0x10
CMP dword ptr [ESP + 0x10],EAX
JGE 0x00037ada
SUB ESP,0x8
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0xc]
CALL 0x00027140
MOV EBP,EAX
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x20]
PUSH EBP
CALL 0x00028c00
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00037be1
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x20]
CALL 0x00027ff0
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JNZ 0x000379cc
JMP 0x00037b7f
SUB ESP,0xc
PUSH ESI
CALL 0x00028e10
ADD ESP,0x10
MOV EBP,EAX
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x000379c0
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x0002a990
MOV dword ptr [EBP],0x0
ADD ESP,0x10
SUB ESP,0xc
PUSH EBP
CALL 0x0002c270
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x0002b920
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00037998
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x0002b860
MOV dword ptr [ESP],ESI
CALL 0x0002b760
ADD dword ptr [ESP + 0x20],0x1
ADD ESP,0x10
JMP 0x00037930
SUB ESP,0x4
PUSH dword ptr [ESP + 0x28]
PUSH 0x72
PUSH dword ptr [ESP + 0x14]
CALL 0x00075fa0
MOV dword ptr [ESP + 0x18],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00037ab2
MOV EAX,dword ptr [ESP + 0x24]
CMP EAX,0x4
JZ 0x00037ac5
CMP EAX,0x8005
JZ 0x00037a94
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x8
XOR EBP,EBP
XOR EDI,EDI
LEA EAX,[EBX + 0xfffc5008]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
POP ECX
PUSH dword ptr [ESI]
XOR ESI,ESI
CALL 0x0002c0c0
ADD ESP,0x10
MOV dword ptr [ESP + 0x4],0x1
JMP 0x00037731
XOR EDI,EDI
MOV dword ptr [ESP + 0x4],0x1
JMP 0x00037731
MOV dword ptr [ESP + 0x4],0x1
XOR EDI,EDI
JMP 0x00037731
XOR ESI,ESI
MOV dword ptr [ESP + 0x4],0x1
JMP 0x00037731
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x14]
CALL 0x000284c0
ADD ESP,0x10
MOV ESI,EAX
TEST ESI,ESI
JNZ 0x00037873
JMP 0x00037a32
XOR ESI,ESI
XOR EBP,EBP
XOR EDI,EDI
MOV dword ptr [ESP + 0x4],0x1
JMP 0x00037731
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [ESP + 0x14]
CALL 0x0002ba60
ADD ESP,0x10
MOV ESI,EAX
JMP 0x00037aa8
MOV EBP,dword ptr [ESP + 0x1c]
SUB ESP,0x4
PUSH dword ptr [ESP + 0x2c]
PUSH 0x77
PUSH dword ptr [ESP + 0x18]
CALL 0x00075fa0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x00037a85
MOV EAX,dword ptr [ESP + 0x28]
CMP EAX,0x4
JZ 0x00037b6d
CMP EAX,0x8005
JZ 0x00037b5b
MOV EAX,dword ptr [ESP + 0x10]
XOR ESI,ESI
TEST EAX,EAX
JNZ 0x00037731
PUSH EDX
LEA EAX,[EBX + 0xfffc5070]
PUSH EDX
LEA EDX,[EBX + 0x7b14]
PUSH EAX
PUSH dword ptr [EDX]
MOV dword ptr [ESP + 0x14],EDX
CALL 0x00027240
POP ECX
MOV EDX,dword ptr [ESP + 0x10]
PUSH dword ptr [EDX]
CALL 0x0002c0c0
ADD ESP,0x10
MOV dword ptr [ESP + 0x4],0x1
JMP 0x00037731
MOV EAX,dword ptr [ESP]
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00037ade
CALL 0x0007d010
PUSH EAX
PUSH EAX
PUSH EBP
PUSH EDI
CALL 0x00029680
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x10
JMP 0x00037b09
PUSH EAX
PUSH EAX
PUSH EBP
PUSH EDI
CALL 0x0002b640
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x10
JMP 0x00037b09
MOV EAX,EBP
LEA ESI,[EBX + 0x7b14]
MOV EBP,dword ptr [ESP + 0x1c]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xfffc5038]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
POP ECX
PUSH dword ptr [ESP + 0x20]
CALL 0x0002b860
MOV dword ptr [ESP],0x0
CALL 0x0002b760
ADD ESP,0x10
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc5054]
XOR EDI,EDI
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
POP EAX
PUSH dword ptr [ESI]
XOR ESI,ESI
CALL 0x0002c0c0
ADD ESP,0x10
MOV dword ptr [ESP + 0x4],0x1
JMP 0x00037731
MOV EAX,EBP
MOV EBP,dword ptr [ESP + 0x1c]
PUSH ESI
LEA ESI,[EBX + 0x7b14]
PUSH EAX
LEA EAX,[EBX + 0xfffc501c]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
MOV dword ptr [ESP],0x0
CALL 0x0002b860
MOV dword ptr [ESP],0x0
CALL 0x0002b760
ADD ESP,0x10
JMP 0x00037bb4
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint FUN_00037650(undefined4 param_1,char *param_2)\n\n{\n  bool bVar1;\n  char *****pppppcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  int iVar7;\n  stack_st_X509_CRL *psVar8;\n  int iVar9;\n  undefined **filename;\n  X509_CRL *pXVar10;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  char *****pppppcVar11;\n  char *****extraout_EDX_00;\n  char *****extraout_EDX_01;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  undefined8 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  BIO *bp;\n  undefined4 uVar16;\n  char *****pppppcVar17;\n  pkcs7_st *ppVar18;\n  char ****local_28;\n  char ****local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar1 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (char ****)0x8005;\n  local_24 = (char ****)0x8005;\n  filename = &PTR_DAT_000b6920;\n  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);\n  pppppcVar11 = &local_24;\n  uVar16 = 0;\n  pppppcVar17 = &local_28;\n  uVar15 = 0;\n  iVar13 = 0;\nLAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);\n  if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }\n  switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }\n  param_2 = (char *)0x2;\n  iVar3 = FUN_00077fb0(uVar4,2,filename);\n  if (iVar3 == 0) goto LAB_00037700;\n  goto LAB_000376c0;\nLAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);\n  if (iVar9 <= iVar7) goto LAB_00037ade;\n  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);\n  pBVar5 = BIO_new_file((char *)filename,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }\n  pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar10);\n  iVar7 = iVar7 + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  param_2 = (char *)0x77;\n  filename = (undefined **)local_24;\n  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);\n  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);\n  pBVar5 = (BIO *)uVar12;\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }\n  goto LAB_00037731;\nLAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";\n  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);\n  filename = (undefined **)pppppcVar2;\ncode_r0x0003771b:\n  iVar3 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  bp = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);\n  BIO_free(bp);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007d010();\n}\n\n" comment (function_definition "int FUN_00037650(undefined4 param_1,char *param_2)\n\n{\n  bool bVar1;\n  char *****pppppcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  int iVar7;\n  stack_st_X509_CRL *psVar8;\n  int iVar9;\n  undefined **filename;\n  X509_CRL *pXVar10;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  char *****pppppcVar11;\n  char *****extraout_EDX_00;\n  char *****extraout_EDX_01;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  undefined8 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  BIO *bp;\n  undefined4 uVar16;\n  char *****pppppcVar17;\n  pkcs7_st *ppVar18;\n  char ****local_28;\n  char ****local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar1 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (char ****)0x8005;\n  local_24 = (char ****)0x8005;\n  filename = &PTR_DAT_000b6920;\n  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);\n  pppppcVar11 = &local_24;\n  uVar16 = 0;\n  pppppcVar17 = &local_28;\n  uVar15 = 0;\n  iVar13 = 0;\nLAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);\n  if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }\n  switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }\n  param_2 = (char *)0x2;\n  iVar3 = FUN_00077fb0(uVar4,2,filename);\n  if (iVar3 == 0) goto LAB_00037700;\n  goto LAB_000376c0;\nLAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);\n  if (iVar9 <= iVar7) goto LAB_00037ade;\n  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);\n  pBVar5 = BIO_new_file((char *)filename,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }\n  pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar10);\n  iVar7 = iVar7 + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  param_2 = (char *)0x77;\n  filename = (undefined **)local_24;\n  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);\n  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);\n  pBVar5 = (BIO *)uVar12;\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }\n  goto LAB_00037731;\nLAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";\n  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);\n  filename = (undefined **)pppppcVar2;\ncode_r0x0003771b:\n  iVar3 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  bp = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);\n  BIO_free(bp);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007d010();\n}" primitive_type (function_declarator "FUN_00037650(undefined4 param_1,char *param_2)" identifier (parameter_list "(undefined4 param_1,char *param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  char *****pppppcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  int iVar7;\n  stack_st_X509_CRL *psVar8;\n  int iVar9;\n  undefined **filename;\n  X509_CRL *pXVar10;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  char *****pppppcVar11;\n  char *****extraout_EDX_00;\n  char *****extraout_EDX_01;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  undefined8 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  BIO *bp;\n  undefined4 uVar16;\n  char *****pppppcVar17;\n  pkcs7_st *ppVar18;\n  char ****local_28;\n  char ****local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar1 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (char ****)0x8005;\n  local_24 = (char ****)0x8005;\n  filename = &PTR_DAT_000b6920;\n  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);\n  pppppcVar11 = &local_24;\n  uVar16 = 0;\n  pppppcVar17 = &local_28;\n  uVar15 = 0;\n  iVar13 = 0;\nLAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);\n  if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }\n  switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }\n  param_2 = (char *)0x2;\n  iVar3 = FUN_00077fb0(uVar4,2,filename);\n  if (iVar3 == 0) goto LAB_00037700;\n  goto LAB_000376c0;\nLAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);\n  if (iVar9 <= iVar7) goto LAB_00037ade;\n  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);\n  pBVar5 = BIO_new_file((char *)filename,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }\n  pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar10);\n  iVar7 = iVar7 + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  param_2 = (char *)0x77;\n  filename = (undefined **)local_24;\n  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);\n  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);\n  pBVar5 = (BIO *)uVar12;\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }\n  goto LAB_00037731;\nLAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";\n  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);\n  filename = (undefined **)pppppcVar2;\ncode_r0x0003771b:\n  iVar3 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  bp = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);\n  BIO_free(bp);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007d010();\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "char *****pppppcVar2;" primitive_type (pointer_declarator "*****pppppcVar2" * (pointer_declarator "****pppppcVar2" * (pointer_declarator "***pppppcVar2" * (pointer_declarator "**pppppcVar2" * (pointer_declarator "*pppppcVar2" * identifier))))) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "X509_CRL *p7;" type_identifier (pointer_declarator "*p7" * identifier) ;) (declaration "BIO *pBVar5;" type_identifier (pointer_declarator "*pBVar5" * identifier) ;) (declaration "ASN1_OBJECT *pAVar6;" type_identifier (pointer_declarator "*pAVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "stack_st_X509_CRL *psVar8;" type_identifier (pointer_declarator "*psVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined **filename;" type_identifier (pointer_declarator "**filename" * (pointer_declarator "*filename" * identifier)) ;) (declaration "X509_CRL *pXVar10;" type_identifier (pointer_declarator "*pXVar10" * identifier) ;) (declaration "X509_INFO *a;" type_identifier (pointer_declarator "*a" * identifier) ;) (declaration "X509_CRL *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "char *****pppppcVar11;" primitive_type (pointer_declarator "*****pppppcVar11" * (pointer_declarator "****pppppcVar11" * (pointer_declarator "***pppppcVar11" * (pointer_declarator "**pppppcVar11" * (pointer_declarator "*pppppcVar11" * identifier))))) ;) (declaration "char *****extraout_EDX_00;" primitive_type (pointer_declarator "*****extraout_EDX_00" * (pointer_declarator "****extraout_EDX_00" * (pointer_declarator "***extraout_EDX_00" * (pointer_declarator "**extraout_EDX_00" * (pointer_declarator "*extraout_EDX_00" * identifier))))) ;) (declaration "char *****extraout_EDX_01;" primitive_type (pointer_declarator "*****extraout_EDX_01" * (pointer_declarator "****extraout_EDX_01" * (pointer_declarator "***extraout_EDX_01" * (pointer_declarator "**extraout_EDX_01" * (pointer_declarator "*extraout_EDX_01" * identifier))))) ;) (declaration "X509_CRL *a_00;" type_identifier (pointer_declarator "*a_00" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "BIO *bp;" type_identifier (pointer_declarator "*bp" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "char *****pppppcVar17;" primitive_type (pointer_declarator "*****pppppcVar17" * (pointer_declarator "****pppppcVar17" * (pointer_declarator "***pppppcVar17" * (pointer_declarator "**pppppcVar17" * (pointer_declarator "*pppppcVar17" * identifier))))) ;) (declaration "pkcs7_st *ppVar18;" type_identifier (pointer_declarator "*ppVar18" * identifier) ;) (declaration "char ****local_28;" primitive_type (pointer_declarator "****local_28" * (pointer_declarator "***local_28" * (pointer_declarator "**local_28" * (pointer_declarator "*local_28" * identifier)))) ;) (declaration "char ****local_24;" primitive_type (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)))) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "uStack_14 = 0x3765b;" (assignment_expression "uStack_14 = 0x3765b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_28 = (char ****)0x8005;" (assignment_expression "local_28 = (char ****)0x8005" identifier = (cast_expression "(char ****)0x8005" ( (type_descriptor "char ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "local_24 = (char ****)0x8005;" (assignment_expression "local_24 = (char ****)0x8005" identifier = (cast_expression "(char ****)0x8005" ( (type_descriptor "char ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "filename = &PTR_DAT_000b6920;" (assignment_expression "filename = &PTR_DAT_000b6920" identifier = (pointer_expression "&PTR_DAT_000b6920" & identifier)) ;) (expression_statement "pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);" (assignment_expression "pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920)" identifier = (cast_expression "(char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920)" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920)" identifier (argument_list "(param_1,param_2,&PTR_DAT_000b6920)" ( identifier , identifier , (pointer_expression "&PTR_DAT_000b6920" & identifier) ))))) ;) (expression_statement "pppppcVar11 = &local_24;" (assignment_expression "pppppcVar11 = &local_24" identifier = (pointer_expression "&local_24" & identifier)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "pppppcVar17 = &local_28;" (assignment_expression "pppppcVar17 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);" statement_identifier : (expression_statement "iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);" (assignment_expression "iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17)" identifier = (call_expression "FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17)" identifier (argument_list "(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17)" ( identifier , identifier , identifier , identifier , identifier )))) ;)) (if_statement "if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }" { (expression_statement "iVar3 = FUN_00079110();" (assignment_expression "iVar3 = FUN_00079110()" identifier = (call_expression "FUN_00079110()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" { (if_statement "if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }" { (expression_statement "param_2 = (char *)0x72;" (assignment_expression "param_2 = (char *)0x72" identifier = (cast_expression "(char *)0x72" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "filename = (undefined **)local_28;" (assignment_expression "filename = (undefined **)local_28" identifier = (cast_expression "(undefined **)local_28" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);" (assignment_expression "bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28)" identifier = (cast_expression "(BIO *)FUN_00075fa0(uVar15,0x72,local_28)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fa0(uVar15,0x72,local_28)" identifier (argument_list "(uVar15,0x72,local_28)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }" if (parenthesized_expression "(bp == (BIO *)0x0)" ( (binary_expression "bp == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }" { (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }" else (compound_statement "{\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }" { (if_statement "if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" if (parenthesized_expression "((char *****)local_28 == (char *****)0x4)" ( (binary_expression "(char *****)local_28 == (char *****)0x4" (cast_expression "(char *****)local_28" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(char *****)0x4" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }" { (expression_statement "param_2 = (char *)0x0;" (assignment_expression "param_2 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);" (assignment_expression "a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0)" identifier = (call_expression "d2i_X509_CRL_bio(bp,(X509_CRL **)0x0)" identifier (argument_list "(bp,(X509_CRL **)0x0)" ( identifier , (cast_expression "(X509_CRL **)0x0" ( (type_descriptor "X509_CRL **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (labeled_statement "LAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;" statement_identifier : (if_statement "if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;" if (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" ( (binary_expression "a_00 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00037873;" goto statement_identifier ;))) }) (else_clause "else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" else (if_statement "if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" if (parenthesized_expression "((char *****)local_28 == (char *****)0x8005)" ( (binary_expression "(char *****)local_28 == (char *****)0x8005" (cast_expression "(char *****)local_28" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(char *****)0x8005" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" { (expression_statement "filename = (undefined **)0x0;" (assignment_expression "filename = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "param_2 = (char *)0x0;" (assignment_expression "param_2 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier = (call_expression "PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier (argument_list "(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" ( identifier , (cast_expression "(X509_CRL **)0x0" ( (type_descriptor "X509_CRL **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (goto_statement "goto LAB_00037aa8;" goto statement_identifier ;) })))) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_2 = "unable to load CRL\n";" (assignment_expression "param_2 = "unable to load CRL\n"" identifier = (string_literal ""unable to load CRL\n"" " string_content escape_sequence ")) ;) (expression_statement "BIO_printf(DAT_000c458c,"unable to load CRL\n");" (call_expression "BIO_printf(DAT_000c458c,"unable to load CRL\n")" identifier (argument_list "(DAT_000c458c,"unable to load CRL\n")" ( identifier , (string_literal ""unable to load CRL\n"" " string_content escape_sequence ") ))) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" identifier (argument_list "(DAT_000c458c)" ( identifier ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();" statement_identifier : (expression_statement "p7 = (X509_CRL *)PKCS7_new();" (assignment_expression "p7 = (X509_CRL *)PKCS7_new()" identifier = (cast_expression "(X509_CRL *)PKCS7_new()" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "PKCS7_new()" identifier (argument_list "()" ( ))))) ;)) (if_statement "if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }" if (parenthesized_expression "(p7 != (X509_CRL *)0x0)" ( (binary_expression "p7 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }" { (expression_statement "pBVar5 = (BIO *)PKCS7_SIGNED_new();" (assignment_expression "pBVar5 = (BIO *)PKCS7_SIGNED_new()" identifier = (cast_expression "(BIO *)PKCS7_SIGNED_new()" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "PKCS7_SIGNED_new()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;" if (parenthesized_expression "(pBVar5 == (BIO *)0x0)" ( (binary_expression "pBVar5 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00037a87;" goto statement_identifier ;)) (expression_statement "pAVar6 = OBJ_nid2obj(0x16);" (assignment_expression "pAVar6 = OBJ_nid2obj(0x16)" identifier = (call_expression "OBJ_nid2obj(0x16)" identifier (argument_list "(0x16)" ( number_literal )))) ;) (expression_statement "((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;" (assignment_expression "((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5" (field_expression "((_union_450 *)&p7->akid)->sign" (parenthesized_expression "((_union_450 *)&p7->akid)" ( (cast_expression "(_union_450 *)&p7->akid" ( (type_descriptor "_union_450 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p7->akid" & (field_expression "p7->akid" identifier -> field_identifier))) )) -> field_identifier) = (cast_expression "(PKCS7_SIGNED *)pBVar5" ( (type_descriptor "PKCS7_SIGNED *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppVar18 = (pkcs7_st *)pBVar5->flags;" (assignment_expression "ppVar18 = (pkcs7_st *)pBVar5->flags" identifier = (cast_expression "(pkcs7_st *)pBVar5->flags" ( (type_descriptor "pkcs7_st *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar5->flags" identifier -> field_identifier))) ;) (expression_statement "p7->flags = (int)pAVar6;" (assignment_expression "p7->flags = (int)pAVar6" (field_expression "p7->flags" identifier -> field_identifier) = (cast_expression "(int)pAVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pAVar6 = OBJ_nid2obj(0x15);" (assignment_expression "pAVar6 = OBJ_nid2obj(0x15)" identifier = (call_expression "OBJ_nid2obj(0x15)" identifier (argument_list "(0x15)" ( number_literal )))) ;) (expression_statement "ppVar18->type = pAVar6;" (assignment_expression "ppVar18->type = pAVar6" (field_expression "ppVar18->type" identifier -> field_identifier) = identifier) ;) (expression_statement "param_2 = (char *)0x1;" (assignment_expression "param_2 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);" (assignment_expression "iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1)" identifier = (call_expression "ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1)" identifier (argument_list "((ASN1_INTEGER *)pBVar5->method,1)" ( (cast_expression "(ASN1_INTEGER *)pBVar5->method" ( (type_descriptor "ASN1_INTEGER *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar5->method" identifier -> field_identifier)) , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }" { (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();" (assignment_expression "psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null()" identifier = (cast_expression "(stack_st_X509_CRL *)OPENSSL_sk_new_null()" ( (type_descriptor "stack_st_X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_new_null()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }" if (parenthesized_expression "(psVar8 != (stack_st_X509_CRL *)0x0)" ( (binary_expression "psVar8 != (stack_st_X509_CRL *)0x0" identifier != (cast_expression "(stack_st_X509_CRL *)0x0" ( (type_descriptor "stack_st_X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }" { (expression_statement "pBVar5->init = (int)psVar8;" (assignment_expression "pBVar5->init = (int)psVar8" (field_expression "pBVar5->init" identifier -> field_identifier) = (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }" if (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" ( (binary_expression "a_00 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }" { (expression_statement "OPENSSL_sk_push(psVar8,a_00);" (call_expression "OPENSSL_sk_push(psVar8,a_00)" identifier (argument_list "(psVar8,a_00)" ( identifier , identifier ))) ;) (expression_statement "param_2 = (char *)a_00;" (assignment_expression "param_2 = (char *)a_00" identifier = (cast_expression "(char *)a_00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "a_00 = (X509_CRL *)OPENSSL_sk_new_null();" (assignment_expression "a_00 = (X509_CRL *)OPENSSL_sk_new_null()" identifier = (cast_expression "(X509_CRL *)OPENSSL_sk_new_null()" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_new_null()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }" if (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" ( (binary_expression "a_00 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }" { (expression_statement "pBVar5->cb_arg = (char *)a_00;" (assignment_expression "pBVar5->cb_arg = (char *)a_00" (field_expression "pBVar5->cb_arg" identifier -> field_identifier) = (cast_expression "(char *)a_00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pXVar10 = a_00;" (assignment_expression "pXVar10 = a_00" identifier = identifier) ;) (if_statement "if (iVar13 != 0) goto LAB_00037930;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00037930;" goto statement_identifier ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00037ade;" goto statement_identifier ;) })) })) })) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (goto_statement "goto LAB_00037700;" goto statement_identifier ;) })) (switch_statement "switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }" switch (parenthesized_expression "(iVar3)" ( identifier )) (compound_statement "{\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }" { (case_statement "default:\n    goto LAB_000376c0;" default : (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;" case number_literal : (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00079140(&PTR_DAT_000b6920);" (call_expression "FUN_00079140(&PTR_DAT_000b6920)" identifier (argument_list "(&PTR_DAT_000b6920)" ( (pointer_expression "&PTR_DAT_000b6920" & identifier) ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;)) (case_statement "case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;" case number_literal : (expression_statement "filename = (undefined **)pppppcVar17;" (assignment_expression "filename = (undefined **)pppppcVar17" identifier = (cast_expression "(undefined **)pppppcVar17" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar4 = FUN_00078b30();" (assignment_expression "uVar4 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppppcVar17 = (char *****)filename;" (assignment_expression "pppppcVar17 = (char *****)filename" identifier = (cast_expression "(char *****)filename" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;" case number_literal : (expression_statement "filename = (undefined **)pppppcVar11;" (assignment_expression "filename = (undefined **)pppppcVar11" identifier = (cast_expression "(undefined **)pppppcVar11" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar4 = FUN_00078b30();" (assignment_expression "uVar4 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppppcVar11 = (char *****)filename;" (assignment_expression "pppppcVar11 = (char *****)filename" identifier = (cast_expression "(char *****)filename" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;" case number_literal : (expression_statement "uVar15 = FUN_00078b30();" (assignment_expression "uVar15 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;" case number_literal : (expression_statement "uVar16 = FUN_00078b30();" (assignment_expression "uVar16 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case 6:\n    bVar1 = true;\n    goto LAB_000376c0;" case number_literal : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;" case number_literal : (if_statement "if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" if (parenthesized_expression "((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0))" ( (binary_expression "(iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)" ( (comma_expression "iVar13 = OPENSSL_sk_new_null(), iVar13 == 0" (assignment_expression "iVar13 = OPENSSL_sk_new_null()" identifier = (call_expression "OPENSSL_sk_new_null()" identifier (argument_list "()" ( )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" { (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "param_2 = (char *)FUN_00078b30();" (assignment_expression "param_2 = (char *)FUN_00078b30()" identifier = (cast_expression "(char *)FUN_00078b30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = OPENSSL_sk_push(iVar13,param_2);" (assignment_expression "iVar3 = OPENSSL_sk_push(iVar13,param_2)" identifier = (call_expression "OPENSSL_sk_push(iVar13,param_2)" identifier (argument_list "(iVar13,param_2)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) goto code_r0x0003771b;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x0003771b;" goto statement_identifier ;)) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case -1:\n    goto LAB_00037700;" case number_literal : (goto_statement "goto LAB_00037700;" goto statement_identifier ;)) })) (expression_statement "param_2 = (char *)0x2;" (assignment_expression "param_2 = (char *)0x2" identifier = (cast_expression "(char *)0x2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = FUN_00077fb0(uVar4,2,filename);" (assignment_expression "iVar3 = FUN_00077fb0(uVar4,2,filename)" identifier = (call_expression "FUN_00077fb0(uVar4,2,filename)" identifier (argument_list "(uVar4,2,filename)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_00037700;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037700;" goto statement_identifier ;)) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;) (labeled_statement "LAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);" statement_identifier : (expression_statement "iVar9 = OPENSSL_sk_num(iVar13);" (assignment_expression "iVar9 = OPENSSL_sk_num(iVar13)" identifier = (call_expression "OPENSSL_sk_num(iVar13)" identifier (argument_list "(iVar13)" ( identifier )))) ;)) (if_statement "if (iVar9 <= iVar7) goto LAB_00037ade;" if (parenthesized_expression "(iVar9 <= iVar7)" ( (binary_expression "iVar9 <= iVar7" identifier <= identifier) )) (goto_statement "goto LAB_00037ade;" goto statement_identifier ;)) (expression_statement "filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);" (assignment_expression "filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7)" identifier = (cast_expression "(undefined **)OPENSSL_sk_value(iVar13,iVar7)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "OPENSSL_sk_value(iVar13,iVar7)" identifier (argument_list "(iVar13,iVar7)" ( identifier , identifier ))))) ;) (expression_statement "pBVar5 = BIO_new_file((char *)filename,"r");" (assignment_expression "pBVar5 = BIO_new_file((char *)filename,"r")" identifier = (call_expression "BIO_new_file((char *)filename,"r")" identifier (argument_list "((char *)filename,"r")" ( (cast_expression "(char *)filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""r"" " string_content ") )))) ;) (if_statement "if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }" if (parenthesized_expression "(pBVar5 == (BIO *)0x0)" ( (binary_expression "pBVar5 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }" { (expression_statement "BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);" (call_expression "BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10)" identifier (argument_list "(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10)" ( identifier , (string_literal ""error opening the file, %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "BIO_free((BIO *)0x0);" (call_expression "BIO_free((BIO *)0x0)" identifier (argument_list "((BIO *)0x0)" ( (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "OPENSSL_sk_free(0);" (call_expression "OPENSSL_sk_free(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (labeled_statement "LAB_00037bb4:\n    param_2 = "error loading certificates\n";" statement_identifier : (expression_statement "param_2 = "error loading certificates\n";" (assignment_expression "param_2 = "error loading certificates\n"" identifier = (string_literal ""error loading certificates\n"" " string_content escape_sequence ")) ;)) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);" (call_expression "BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10)" identifier (argument_list "(DAT_000c458c,"error loading certificates\n",filename,pXVar10)" ( identifier , (string_literal ""error loading certificates\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" identifier (argument_list "(DAT_000c458c)" ( identifier ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" identifier = (cast_expression "(X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" identifier (argument_list "(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" ( identifier , (cast_expression "(stack_st_X509_INFO *)0x0" ( (type_descriptor "stack_st_X509_INFO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (if_statement "if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }" if (parenthesized_expression "(pXVar10 == (X509_CRL *)0x0)" ( (binary_expression "pXVar10 == (X509_CRL *)0x0" identifier == (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }" { (expression_statement "pXVar10 = extraout_EDX;" (assignment_expression "pXVar10 = extraout_EDX" identifier = identifier) ;) (expression_statement "BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);" (call_expression "BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX)" identifier (argument_list "(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX)" ( identifier , (string_literal ""error reading the file, %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "BIO_free(pBVar5);" (call_expression "BIO_free(pBVar5)" identifier (argument_list "(pBVar5)" ( identifier ))) ;) (expression_statement "OPENSSL_sk_free(0);" (call_expression "OPENSSL_sk_free(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (goto_statement "goto LAB_00037bb4;" goto statement_identifier ;) })) (while_statement "while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }" while (parenthesized_expression "(iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0)" ( (comma_expression "iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0" (assignment_expression "iVar9 = OPENSSL_sk_num(pXVar10)" identifier = (call_expression "OPENSSL_sk_num(pXVar10)" identifier (argument_list "(pXVar10)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) )) (compound_statement "{\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }" { (expression_statement "a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);" (assignment_expression "a = (X509_INFO *)OPENSSL_sk_shift(pXVar10)" identifier = (cast_expression "(X509_INFO *)OPENSSL_sk_shift(pXVar10)" ( (type_descriptor "X509_INFO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_shift(pXVar10)" identifier (argument_list "(pXVar10)" ( identifier ))))) ;) (if_statement "if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }" if (parenthesized_expression "(a->x509 != (X509 *)0x0)" ( (binary_expression "a->x509 != (X509 *)0x0" (field_expression "a->x509" identifier -> field_identifier) != (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }" { (expression_statement "OPENSSL_sk_push(a_00,a->x509);" (call_expression "OPENSSL_sk_push(a_00,a->x509)" identifier (argument_list "(a_00,a->x509)" ( identifier , (field_expression "a->x509" identifier -> field_identifier) ))) ;) (expression_statement "a->x509 = (X509 *)0x0;" (assignment_expression "a->x509 = (X509 *)0x0" (field_expression "a->x509" identifier -> field_identifier) = (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "X509_INFO_free(a);" (call_expression "X509_INFO_free(a)" identifier (argument_list "(a)" ( identifier ))) ;) })) (expression_statement "BIO_free(pBVar5);" (call_expression "BIO_free(pBVar5)" identifier (argument_list "(pBVar5)" ( identifier ))) ;) (expression_statement "OPENSSL_sk_free(pXVar10);" (call_expression "OPENSSL_sk_free(pXVar10)" identifier (argument_list "(pXVar10)" ( identifier ))) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00037930;" goto statement_identifier ;) (labeled_statement "LAB_00037ade:\n  param_2 = (char *)0x77;" statement_identifier : (expression_statement "param_2 = (char *)0x77;" (assignment_expression "param_2 = (char *)0x77" identifier = (cast_expression "(char *)0x77" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "filename = (undefined **)local_24;" (assignment_expression "filename = (undefined **)local_24" identifier = (cast_expression "(undefined **)local_24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar12 = FUN_00075fa0(uVar16,0x77,local_24);" (assignment_expression "uVar12 = FUN_00075fa0(uVar16,0x77,local_24)" identifier = (call_expression "FUN_00075fa0(uVar16,0x77,local_24)" identifier (argument_list "(uVar16,0x77,local_24)" ( identifier , number_literal , identifier )))) ;) (expression_statement "pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);" (assignment_expression "pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20)" identifier = (cast_expression "(char *****)((ulonglong)uVar12 >> 0x20)" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((ulonglong)uVar12 >> 0x20)" ( (binary_expression "(ulonglong)uVar12 >> 0x20" (cast_expression "(ulonglong)uVar12" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pBVar5 = (BIO *)uVar12;" (assignment_expression "pBVar5 = (BIO *)uVar12" identifier = (cast_expression "(BIO *)uVar12" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }" if (parenthesized_expression "(pBVar5 == (BIO *)0x0)" ( (binary_expression "pBVar5 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }" { (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00037a87:\n    iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) }) (else_clause "else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }" else (compound_statement "{\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }" { (if_statement "if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" if (parenthesized_expression "((char *****)local_24 == (char *****)0x4)" ( (binary_expression "(char *****)local_24 == (char *****)0x4" (cast_expression "(char *****)local_24" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(char *****)0x4" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }" { (expression_statement "param_2 = (char *)p7;" (assignment_expression "param_2 = (char *)p7" identifier = (cast_expression "(char *)p7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "filename = (undefined **)local_24;" (assignment_expression "filename = (undefined **)local_24" identifier = (cast_expression "(undefined **)local_24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);" (assignment_expression "iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7)" identifier = (call_expression "i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7)" identifier (argument_list "(pBVar5,(PKCS7 *)p7)" ( identifier , (cast_expression "(PKCS7 *)p7" ( (type_descriptor "PKCS7 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pppppcVar11 = extraout_EDX_01;" (assignment_expression "pppppcVar11 = extraout_EDX_01" identifier = identifier) ;) }) (else_clause "else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" else (if_statement "if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" if (parenthesized_expression "((char *****)local_24 == (char *****)0x8005)" ( (binary_expression "(char *****)local_24 == (char *****)0x8005" (cast_expression "(char *****)local_24" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(char *****)0x8005" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" { (expression_statement "param_2 = (char *)p7;" (assignment_expression "param_2 = (char *)p7" identifier = (cast_expression "(char *)p7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "filename = (undefined **)local_24;" (assignment_expression "filename = (undefined **)local_24" identifier = (cast_expression "(undefined **)local_24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);" (assignment_expression "iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7)" identifier = (call_expression "PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7)" identifier (argument_list "(pBVar5,(PKCS7 *)p7)" ( identifier , (cast_expression "(PKCS7 *)p7" ( (type_descriptor "PKCS7 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pppppcVar11 = extraout_EDX_00;" (assignment_expression "pppppcVar11 = extraout_EDX_00" identifier = identifier) ;) })))) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }" { (expression_statement "param_2 = "unable to write pkcs7 object\n";" (assignment_expression "param_2 = "unable to write pkcs7 object\n"" identifier = (string_literal ""unable to write pkcs7 object\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar14 = &DAT_000c458c;" (assignment_expression "puVar14 = &DAT_000c458c" identifier = (pointer_expression "&DAT_000c458c" & identifier)) ;) (expression_statement "BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);" (call_expression "BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11)" identifier (argument_list "(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11)" ( identifier , (string_literal ""unable to write pkcs7 object\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "ERR_print_errors((BIO *)*puVar14);" (call_expression "ERR_print_errors((BIO *)*puVar14)" identifier (argument_list "((BIO *)*puVar14)" ( (cast_expression "(BIO *)*puVar14" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier)) ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "filename = (undefined **)pppppcVar11;" (assignment_expression "filename = (undefined **)pppppcVar11" identifier = (cast_expression "(undefined **)pppppcVar11" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) }))) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) (labeled_statement "LAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";" statement_identifier : (expression_statement "param_2 = "%s: Use -help for summary.\n";" (assignment_expression "param_2 = "%s: Use -help for summary.\n"" identifier = (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ")) ;)) (expression_statement "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);" (call_expression "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2)" identifier (argument_list "(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2)" ( identifier , (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "filename = (undefined **)pppppcVar2;" (assignment_expression "filename = (undefined **)pppppcVar2" identifier = (cast_expression "(undefined **)pppppcVar2" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (labeled_statement "code_r0x0003771b:\n  iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);" statement_identifier : (expression_statement "OPENSSL_sk_free(iVar13,param_2,filename);" (call_expression "OPENSSL_sk_free(iVar13,param_2,filename)" identifier (argument_list "(iVar13,param_2,filename)" ( identifier , identifier , identifier ))) ;)) (expression_statement "BIO_free(bp);" (call_expression "BIO_free(bp)" identifier (argument_list "(bp)" ( identifier ))) ;) (expression_statement "BIO_free_all(pBVar5);" (call_expression "BIO_free_all(pBVar5)" identifier (argument_list "(pBVar5)" ( identifier ))) ;) (expression_statement "PKCS7_free((PKCS7 *)p7);" (call_expression "PKCS7_free((PKCS7 *)p7)" identifier (argument_list "((PKCS7 *)p7)" ( (cast_expression "(PKCS7 *)p7" ( (type_descriptor "PKCS7 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "X509_CRL_free(a_00);" (call_expression "X509_CRL_free(a_00)" identifier (argument_list "(a_00)" ( identifier ))) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) comment (expression_statement "FUN_0007d010();" (call_expression "FUN_0007d010()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint crl2pkcs7_main(int argc,char **argv)\n\n{\n  pkcs7_st *ppVar1;\n  bool bVar2;\n  int *piVar3;\n  int iVar4;\n  char *s;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  stack_st_X509_CRL *psVar7;\n  undefined1 *result;\n  X509_CRL *pXVar8;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  int *extraout_EDX_00;\n  int *extraout_EDX_01;\n  int *extraout_EDX_02;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  char *pcVar9;\n  int local_4c;\n  int local_48;\n  BIO *local_44;\n  char *local_40;\n  int local_3c;\n  int informat;\n  int outformat;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar2 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  informat = 0x8005;\n  outformat = 0x8005;\n  result = crl2pkcs7_options;\n  piVar3 = (int *)opt_init(argc,argv,(OPTIONS *)crl2pkcs7_options);\n  local_40 = (char *)0x0;\n  local_44 = (BIO *)0x0;\n  local_4c = 0;\n  pcVar9 = (char *)argv;\n_L2:\n  iVar4 = opt_next();\n  if (iVar4 == 0) {\n    iVar4 = opt_num_rest();\n    if (iVar4 == 0) {\n      if (!bVar2) {\n        pcVar9 = (char *)0x72;\n        result = (undefined1 *)informat;\n        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);\n        if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }\n        goto LAB_00037731;\n      }\n      local_44 = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar1 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar1->type = pAVar6;\n        pcVar9 = (char *)0x1;\n        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    goto _L12;\n  }\n  switch(iVar4) {\n  default:\n    goto _L2;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    opt_help((OPTIONS *)crl2pkcs7_options);\n    local_48 = 0;\n    local_44 = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    s = opt_arg();\n    result = (undefined1 *)&informat;\n    break;\n  case 3:\n    s = opt_arg();\n    result = (undefined1 *)&outformat;\n    break;\n  case 4:\n    local_44 = (BIO *)opt_arg();\n    goto _L2;\n  case 5:\n    local_40 = opt_arg();\n    goto _L2;\n  case 6:\n    bVar2 = true;\n    goto _L2;\n  case 7:\n    if ((local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      local_44 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    pcVar9 = opt_arg();\n    iVar4 = OPENSSL_sk_push(local_4c,pcVar9);\n    if (iVar4 == 0) goto LAB_0003771b;\n    goto _L2;\n  case -1:\n    goto _L12;\n  }\n  pcVar9 = (char *)0x2;\n  iVar4 = opt_format(s,2,(int *)result);\n  if (iVar4 == 0) goto _L12;\n  goto _L2;\nLAB_00037930:\n  iVar4 = OPENSSL_sk_num(local_4c);\n  if (iVar4 <= local_3c) goto LAB_00037ade;\n  result = (undefined1 *)OPENSSL_sk_value(local_4c,local_3c);\n  pBVar5 = BIO_new_file(result,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf((BIO *)bio_err,"error opening the file, %s\n",result,pXVar8);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    pcVar9 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"error loading certificates\n",result,pXVar8);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors((BIO *)bio_err);\n    local_48 = 1;\n    goto LAB_00037731;\n  }\n  pXVar8 = (X509_CRL *)\n           PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar8 == (X509_CRL *)0x0) {\n    pXVar8 = extraout_EDX;\n    BIO_printf((BIO *)bio_err,"error reading the file, %s\n",result,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar4 = OPENSSL_sk_num(pXVar8), iVar4 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar8);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar8);\n  local_3c = local_3c + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  pcVar9 = (char *)0x77;\n  result = (undefined1 *)outformat;\n  pBVar5 = (BIO *)bio_open_default(local_40,'w',outformat);\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    local_48 = 1;\n  }\n  else {\n    if (outformat == 4) {\n      pcVar9 = (char *)p7;\n      result = (undefined1 *)outformat;\n      local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      piVar3 = extraout_EDX_02;\n    }\n    else {\n      piVar3 = extraout_EDX_00;\n      if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }\n    }\n    a_00 = (X509_CRL *)0x0;\n    local_48 = 0;\n    if (local_3c == 0) {\n      pcVar9 = "unable to write pkcs7 object\n";\n      BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);\n      ERR_print_errors((BIO *)bio_err);\n      local_48 = 1;\n      result = (undefined1 *)piVar3;\n    }\n  }\n  goto LAB_00037731;\n_L12:\n  pcVar9 = "%s: Use -help for summary.\n";\n  BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",piVar3);\n  result = (undefined1 *)piVar3;\nLAB_0003771b:\n  local_48 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  local_44 = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(local_4c,pcVar9,result);\n  BIO_free(local_44);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_48;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment (function_definition "int crl2pkcs7_main(int argc,char **argv)\n\n{\n  pkcs7_st *ppVar1;\n  bool bVar2;\n  int *piVar3;\n  int iVar4;\n  char *s;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  stack_st_X509_CRL *psVar7;\n  undefined1 *result;\n  X509_CRL *pXVar8;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  int *extraout_EDX_00;\n  int *extraout_EDX_01;\n  int *extraout_EDX_02;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  char *pcVar9;\n  int local_4c;\n  int local_48;\n  BIO *local_44;\n  char *local_40;\n  int local_3c;\n  int informat;\n  int outformat;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar2 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  informat = 0x8005;\n  outformat = 0x8005;\n  result = crl2pkcs7_options;\n  piVar3 = (int *)opt_init(argc,argv,(OPTIONS *)crl2pkcs7_options);\n  local_40 = (char *)0x0;\n  local_44 = (BIO *)0x0;\n  local_4c = 0;\n  pcVar9 = (char *)argv;\n_L2:\n  iVar4 = opt_next();\n  if (iVar4 == 0) {\n    iVar4 = opt_num_rest();\n    if (iVar4 == 0) {\n      if (!bVar2) {\n        pcVar9 = (char *)0x72;\n        result = (undefined1 *)informat;\n        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);\n        if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }\n        goto LAB_00037731;\n      }\n      local_44 = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar1 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar1->type = pAVar6;\n        pcVar9 = (char *)0x1;\n        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    goto _L12;\n  }\n  switch(iVar4) {\n  default:\n    goto _L2;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    opt_help((OPTIONS *)crl2pkcs7_options);\n    local_48 = 0;\n    local_44 = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    s = opt_arg();\n    result = (undefined1 *)&informat;\n    break;\n  case 3:\n    s = opt_arg();\n    result = (undefined1 *)&outformat;\n    break;\n  case 4:\n    local_44 = (BIO *)opt_arg();\n    goto _L2;\n  case 5:\n    local_40 = opt_arg();\n    goto _L2;\n  case 6:\n    bVar2 = true;\n    goto _L2;\n  case 7:\n    if ((local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      local_44 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    pcVar9 = opt_arg();\n    iVar4 = OPENSSL_sk_push(local_4c,pcVar9);\n    if (iVar4 == 0) goto LAB_0003771b;\n    goto _L2;\n  case -1:\n    goto _L12;\n  }\n  pcVar9 = (char *)0x2;\n  iVar4 = opt_format(s,2,(int *)result);\n  if (iVar4 == 0) goto _L12;\n  goto _L2;\nLAB_00037930:\n  iVar4 = OPENSSL_sk_num(local_4c);\n  if (iVar4 <= local_3c) goto LAB_00037ade;\n  result = (undefined1 *)OPENSSL_sk_value(local_4c,local_3c);\n  pBVar5 = BIO_new_file(result,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf((BIO *)bio_err,"error opening the file, %s\n",result,pXVar8);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    pcVar9 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"error loading certificates\n",result,pXVar8);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors((BIO *)bio_err);\n    local_48 = 1;\n    goto LAB_00037731;\n  }\n  pXVar8 = (X509_CRL *)\n           PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar8 == (X509_CRL *)0x0) {\n    pXVar8 = extraout_EDX;\n    BIO_printf((BIO *)bio_err,"error reading the file, %s\n",result,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar4 = OPENSSL_sk_num(pXVar8), iVar4 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar8);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar8);\n  local_3c = local_3c + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  pcVar9 = (char *)0x77;\n  result = (undefined1 *)outformat;\n  pBVar5 = (BIO *)bio_open_default(local_40,'w',outformat);\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    local_48 = 1;\n  }\n  else {\n    if (outformat == 4) {\n      pcVar9 = (char *)p7;\n      result = (undefined1 *)outformat;\n      local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      piVar3 = extraout_EDX_02;\n    }\n    else {\n      piVar3 = extraout_EDX_00;\n      if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }\n    }\n    a_00 = (X509_CRL *)0x0;\n    local_48 = 0;\n    if (local_3c == 0) {\n      pcVar9 = "unable to write pkcs7 object\n";\n      BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);\n      ERR_print_errors((BIO *)bio_err);\n      local_48 = 1;\n      result = (undefined1 *)piVar3;\n    }\n  }\n  goto LAB_00037731;\n_L12:\n  pcVar9 = "%s: Use -help for summary.\n";\n  BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",piVar3);\n  result = (undefined1 *)piVar3;\nLAB_0003771b:\n  local_48 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  local_44 = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(local_4c,pcVar9,result);\n  BIO_free(local_44);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_48;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (function_declarator "crl2pkcs7_main(int argc,char **argv)" identifier (parameter_list "(int argc,char **argv)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  pkcs7_st *ppVar1;\n  bool bVar2;\n  int *piVar3;\n  int iVar4;\n  char *s;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  stack_st_X509_CRL *psVar7;\n  undefined1 *result;\n  X509_CRL *pXVar8;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  int *extraout_EDX_00;\n  int *extraout_EDX_01;\n  int *extraout_EDX_02;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  char *pcVar9;\n  int local_4c;\n  int local_48;\n  BIO *local_44;\n  char *local_40;\n  int local_3c;\n  int informat;\n  int outformat;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar2 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  informat = 0x8005;\n  outformat = 0x8005;\n  result = crl2pkcs7_options;\n  piVar3 = (int *)opt_init(argc,argv,(OPTIONS *)crl2pkcs7_options);\n  local_40 = (char *)0x0;\n  local_44 = (BIO *)0x0;\n  local_4c = 0;\n  pcVar9 = (char *)argv;\n_L2:\n  iVar4 = opt_next();\n  if (iVar4 == 0) {\n    iVar4 = opt_num_rest();\n    if (iVar4 == 0) {\n      if (!bVar2) {\n        pcVar9 = (char *)0x72;\n        result = (undefined1 *)informat;\n        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);\n        if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }\n        goto LAB_00037731;\n      }\n      local_44 = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar1 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar1->type = pAVar6;\n        pcVar9 = (char *)0x1;\n        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    goto _L12;\n  }\n  switch(iVar4) {\n  default:\n    goto _L2;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    opt_help((OPTIONS *)crl2pkcs7_options);\n    local_48 = 0;\n    local_44 = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    s = opt_arg();\n    result = (undefined1 *)&informat;\n    break;\n  case 3:\n    s = opt_arg();\n    result = (undefined1 *)&outformat;\n    break;\n  case 4:\n    local_44 = (BIO *)opt_arg();\n    goto _L2;\n  case 5:\n    local_40 = opt_arg();\n    goto _L2;\n  case 6:\n    bVar2 = true;\n    goto _L2;\n  case 7:\n    if ((local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      local_44 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    pcVar9 = opt_arg();\n    iVar4 = OPENSSL_sk_push(local_4c,pcVar9);\n    if (iVar4 == 0) goto LAB_0003771b;\n    goto _L2;\n  case -1:\n    goto _L12;\n  }\n  pcVar9 = (char *)0x2;\n  iVar4 = opt_format(s,2,(int *)result);\n  if (iVar4 == 0) goto _L12;\n  goto _L2;\nLAB_00037930:\n  iVar4 = OPENSSL_sk_num(local_4c);\n  if (iVar4 <= local_3c) goto LAB_00037ade;\n  result = (undefined1 *)OPENSSL_sk_value(local_4c,local_3c);\n  pBVar5 = BIO_new_file(result,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf((BIO *)bio_err,"error opening the file, %s\n",result,pXVar8);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    pcVar9 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"error loading certificates\n",result,pXVar8);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors((BIO *)bio_err);\n    local_48 = 1;\n    goto LAB_00037731;\n  }\n  pXVar8 = (X509_CRL *)\n           PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar8 == (X509_CRL *)0x0) {\n    pXVar8 = extraout_EDX;\n    BIO_printf((BIO *)bio_err,"error reading the file, %s\n",result,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar4 = OPENSSL_sk_num(pXVar8), iVar4 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar8);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar8);\n  local_3c = local_3c + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  pcVar9 = (char *)0x77;\n  result = (undefined1 *)outformat;\n  pBVar5 = (BIO *)bio_open_default(local_40,'w',outformat);\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    local_48 = 1;\n  }\n  else {\n    if (outformat == 4) {\n      pcVar9 = (char *)p7;\n      result = (undefined1 *)outformat;\n      local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      piVar3 = extraout_EDX_02;\n    }\n    else {\n      piVar3 = extraout_EDX_00;\n      if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }\n    }\n    a_00 = (X509_CRL *)0x0;\n    local_48 = 0;\n    if (local_3c == 0) {\n      pcVar9 = "unable to write pkcs7 object\n";\n      BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);\n      ERR_print_errors((BIO *)bio_err);\n      local_48 = 1;\n      result = (undefined1 *)piVar3;\n    }\n  }\n  goto LAB_00037731;\n_L12:\n  pcVar9 = "%s: Use -help for summary.\n";\n  BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",piVar3);\n  result = (undefined1 *)piVar3;\nLAB_0003771b:\n  local_48 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  local_44 = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(local_4c,pcVar9,result);\n  BIO_free(local_44);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_48;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "pkcs7_st *ppVar1;" type_identifier (pointer_declarator "*ppVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *s;" primitive_type (pointer_declarator "*s" * identifier) ;) (declaration "X509_CRL *p7;" type_identifier (pointer_declarator "*p7" * identifier) ;) (declaration "BIO *pBVar5;" type_identifier (pointer_declarator "*pBVar5" * identifier) ;) (declaration "ASN1_OBJECT *pAVar6;" type_identifier (pointer_declarator "*pAVar6" * identifier) ;) (declaration "stack_st_X509_CRL *psVar7;" type_identifier (pointer_declarator "*psVar7" * identifier) ;) (declaration "undefined1 *result;" type_identifier (pointer_declarator "*result" * identifier) ;) (declaration "X509_CRL *pXVar8;" type_identifier (pointer_declarator "*pXVar8" * identifier) ;) (declaration "X509_INFO *a;" type_identifier (pointer_declarator "*a" * identifier) ;) (declaration "X509_CRL *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "int *extraout_EDX_00;" primitive_type (pointer_declarator "*extraout_EDX_00" * identifier) ;) (declaration "int *extraout_EDX_01;" primitive_type (pointer_declarator "*extraout_EDX_01" * identifier) ;) (declaration "int *extraout_EDX_02;" primitive_type (pointer_declarator "*extraout_EDX_02" * identifier) ;) (declaration "X509_CRL *a_00;" type_identifier (pointer_declarator "*a_00" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "BIO *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "int informat;" primitive_type identifier ;) (declaration "int outformat;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "uStack_14 = 0x3765b;" (assignment_expression "uStack_14 = 0x3765b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "informat = 0x8005;" (assignment_expression "informat = 0x8005" identifier = number_literal) ;) (expression_statement "outformat = 0x8005;" (assignment_expression "outformat = 0x8005" identifier = number_literal) ;) (expression_statement "result = crl2pkcs7_options;" (assignment_expression "result = crl2pkcs7_options" identifier = identifier) ;) (expression_statement "piVar3 = (int *)opt_init(argc,argv,(OPTIONS *)crl2pkcs7_options);" (assignment_expression "piVar3 = (int *)opt_init(argc,argv,(OPTIONS *)crl2pkcs7_options)" identifier = (cast_expression "(int *)opt_init(argc,argv,(OPTIONS *)crl2pkcs7_options)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "opt_init(argc,argv,(OPTIONS *)crl2pkcs7_options)" identifier (argument_list "(argc,argv,(OPTIONS *)crl2pkcs7_options)" ( identifier , identifier , (cast_expression "(OPTIONS *)crl2pkcs7_options" ( (type_descriptor "OPTIONS *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (expression_statement "local_40 = (char *)0x0;" (assignment_expression "local_40 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_44 = (BIO *)0x0;" (assignment_expression "local_44 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "pcVar9 = (char *)argv;" (assignment_expression "pcVar9 = (char *)argv" identifier = (cast_expression "(char *)argv" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "_L2:\n  iVar4 = opt_next();" statement_identifier : (expression_statement "iVar4 = opt_next();" (assignment_expression "iVar4 = opt_next()" identifier = (call_expression "opt_next()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar4 == 0) {\n    iVar4 = opt_num_rest();\n    if (iVar4 == 0) {\n      if (!bVar2) {\n        pcVar9 = (char *)0x72;\n        result = (undefined1 *)informat;\n        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);\n        if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }\n        goto LAB_00037731;\n      }\n      local_44 = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar1 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar1->type = pAVar6;\n        pcVar9 = (char *)0x1;\n        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    goto _L12;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar4 = opt_num_rest();\n    if (iVar4 == 0) {\n      if (!bVar2) {\n        pcVar9 = (char *)0x72;\n        result = (undefined1 *)informat;\n        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);\n        if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }\n        goto LAB_00037731;\n      }\n      local_44 = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar1 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar1->type = pAVar6;\n        pcVar9 = (char *)0x1;\n        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    goto _L12;\n  }" { (expression_statement "iVar4 = opt_num_rest();" (assignment_expression "iVar4 = opt_num_rest()" identifier = (call_expression "opt_num_rest()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n      if (!bVar2) {\n        pcVar9 = (char *)0x72;\n        result = (undefined1 *)informat;\n        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);\n        if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }\n        goto LAB_00037731;\n      }\n      local_44 = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar1 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar1->type = pAVar6;\n        pcVar9 = (char *)0x1;\n        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (!bVar2) {\n        pcVar9 = (char *)0x72;\n        result = (undefined1 *)informat;\n        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);\n        if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }\n        goto LAB_00037731;\n      }\n      local_44 = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar1 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar1->type = pAVar6;\n        pcVar9 = (char *)0x1;\n        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }" { (if_statement "if (!bVar2) {\n        pcVar9 = (char *)0x72;\n        result = (undefined1 *)informat;\n        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);\n        if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }\n        goto LAB_00037731;\n      }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n        pcVar9 = (char *)0x72;\n        result = (undefined1 *)informat;\n        local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);\n        if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }\n        goto LAB_00037731;\n      }" { (expression_statement "pcVar9 = (char *)0x72;" (assignment_expression "pcVar9 = (char *)0x72" identifier = (cast_expression "(char *)0x72" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "result = (undefined1 *)informat;" (assignment_expression "result = (undefined1 *)informat" identifier = (cast_expression "(undefined1 *)informat" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat);" (assignment_expression "local_44 = (BIO *)bio_open_default((char *)local_44,'r',informat)" identifier = (cast_expression "(BIO *)bio_open_default((char *)local_44,'r',informat)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bio_open_default((char *)local_44,'r',informat)" identifier (argument_list "((char *)local_44,'r',informat)" ( (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (char_literal "'r'" ' character ') , identifier ))))) ;) (if_statement "if (local_44 == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }\n        else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }" if (parenthesized_expression "(local_44 == (BIO *)0x0)" ( (binary_expression "local_44 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          local_48 = 1;\n        }" { (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }" else (compound_statement "{\n          if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          pcVar9 = "unable to load CRL\n";\n          BIO_printf((BIO *)bio_err,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors((BIO *)bio_err);\n          local_48 = 1;\n        }" { (if_statement "if (informat == 4) {\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" if (parenthesized_expression "(informat == 4)" ( (binary_expression "informat == 4" identifier == number_literal) )) (compound_statement "{\n            pcVar9 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }" { (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0);" (assignment_expression "a_00 = d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0)" identifier = (call_expression "d2i_X509_CRL_bio(local_44,(X509_CRL **)0x0)" identifier (argument_list "(local_44,(X509_CRL **)0x0)" ( identifier , (cast_expression "(X509_CRL **)0x0" ( (type_descriptor "X509_CRL **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (labeled_statement "LAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;" statement_identifier : (if_statement "if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;" if (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" ( (binary_expression "a_00 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00037873;" goto statement_identifier ;))) }) (else_clause "else if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" else (if_statement "if (informat == 0x8005) {\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" if (parenthesized_expression "(informat == 0x8005)" ( (binary_expression "informat == 0x8005" identifier == number_literal) )) (compound_statement "{\n            result = (undefined1 *)0x0;\n            pcVar9 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" { (expression_statement "result = (undefined1 *)0x0;" (assignment_expression "result = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "a_00 = PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier = (call_expression "PEM_read_bio_X509_CRL(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier (argument_list "(local_44,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" ( identifier , (cast_expression "(X509_CRL **)0x0" ( (type_descriptor "X509_CRL **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (goto_statement "goto LAB_00037aa8;" goto statement_identifier ;) })))) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = "unable to load CRL\n";" (assignment_expression "pcVar9 = "unable to load CRL\n"" identifier = (string_literal ""unable to load CRL\n"" " string_content escape_sequence ")) ;) (expression_statement "BIO_printf((BIO *)bio_err,"unable to load CRL\n");" (call_expression "BIO_printf((BIO *)bio_err,"unable to load CRL\n")" identifier (argument_list "((BIO *)bio_err,"unable to load CRL\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unable to load CRL\n"" " string_content escape_sequence ") ))) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ERR_print_errors((BIO *)bio_err);" (call_expression "ERR_print_errors((BIO *)bio_err)" identifier (argument_list "((BIO *)bio_err)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "local_44 = (BIO *)0x0;" (assignment_expression "local_44 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();" statement_identifier : (expression_statement "p7 = (X509_CRL *)PKCS7_new();" (assignment_expression "p7 = (X509_CRL *)PKCS7_new()" identifier = (cast_expression "(X509_CRL *)PKCS7_new()" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "PKCS7_new()" identifier (argument_list "()" ( ))))) ;)) (if_statement "if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar1 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar1->type = pAVar6;\n        pcVar9 = (char *)0x1;\n        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }\n      }" if (parenthesized_expression "(p7 != (X509_CRL *)0x0)" ( (binary_expression "p7 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar1 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar1->type = pAVar6;\n        pcVar9 = (char *)0x1;\n        iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }\n      }" { (expression_statement "pBVar5 = (BIO *)PKCS7_SIGNED_new();" (assignment_expression "pBVar5 = (BIO *)PKCS7_SIGNED_new()" identifier = (cast_expression "(BIO *)PKCS7_SIGNED_new()" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "PKCS7_SIGNED_new()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;" if (parenthesized_expression "(pBVar5 == (BIO *)0x0)" ( (binary_expression "pBVar5 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00037a87;" goto statement_identifier ;)) (expression_statement "pAVar6 = OBJ_nid2obj(0x16);" (assignment_expression "pAVar6 = OBJ_nid2obj(0x16)" identifier = (call_expression "OBJ_nid2obj(0x16)" identifier (argument_list "(0x16)" ( number_literal )))) ;) (expression_statement "((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;" (assignment_expression "((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5" (field_expression "((_union_450 *)&p7->akid)->sign" (parenthesized_expression "((_union_450 *)&p7->akid)" ( (cast_expression "(_union_450 *)&p7->akid" ( (type_descriptor "_union_450 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p7->akid" & (field_expression "p7->akid" identifier -> field_identifier))) )) -> field_identifier) = (cast_expression "(PKCS7_SIGNED *)pBVar5" ( (type_descriptor "PKCS7_SIGNED *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppVar1 = (pkcs7_st *)pBVar5->flags;" (assignment_expression "ppVar1 = (pkcs7_st *)pBVar5->flags" identifier = (cast_expression "(pkcs7_st *)pBVar5->flags" ( (type_descriptor "pkcs7_st *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar5->flags" identifier -> field_identifier))) ;) (expression_statement "p7->flags = (int)pAVar6;" (assignment_expression "p7->flags = (int)pAVar6" (field_expression "p7->flags" identifier -> field_identifier) = (cast_expression "(int)pAVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pAVar6 = OBJ_nid2obj(0x15);" (assignment_expression "pAVar6 = OBJ_nid2obj(0x15)" identifier = (call_expression "OBJ_nid2obj(0x15)" identifier (argument_list "(0x15)" ( number_literal )))) ;) (expression_statement "ppVar1->type = pAVar6;" (assignment_expression "ppVar1->type = pAVar6" (field_expression "ppVar1->type" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar9 = (char *)0x1;" (assignment_expression "pcVar9 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);" (assignment_expression "iVar4 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1)" identifier = (call_expression "ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1)" identifier (argument_list "((ASN1_INTEGER *)pBVar5->method,1)" ( (cast_expression "(ASN1_INTEGER *)pBVar5->method" ( (type_descriptor "ASN1_INTEGER *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar5->method" identifier -> field_identifier)) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_48 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }" { (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();" (assignment_expression "psVar7 = (stack_st_X509_CRL *)OPENSSL_sk_new_null()" identifier = (cast_expression "(stack_st_X509_CRL *)OPENSSL_sk_new_null()" ( (type_descriptor "stack_st_X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_new_null()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (psVar7 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }" if (parenthesized_expression "(psVar7 != (stack_st_X509_CRL *)0x0)" ( (binary_expression "psVar7 != (stack_st_X509_CRL *)0x0" identifier != (cast_expression "(stack_st_X509_CRL *)0x0" ( (type_descriptor "stack_st_X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pBVar5->init = (int)psVar7;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }\n        }" { (expression_statement "pBVar5->init = (int)psVar7;" (assignment_expression "pBVar5->init = (int)psVar7" (field_expression "pBVar5->init" identifier -> field_identifier) = (cast_expression "(int)psVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }" if (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" ( (binary_expression "a_00 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            OPENSSL_sk_push(psVar7,a_00);\n            pcVar9 = (char *)a_00;\n          }" { (expression_statement "OPENSSL_sk_push(psVar7,a_00);" (call_expression "OPENSSL_sk_push(psVar7,a_00)" identifier (argument_list "(psVar7,a_00)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = (char *)a_00;" (assignment_expression "pcVar9 = (char *)a_00" identifier = (cast_expression "(char *)a_00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "a_00 = (X509_CRL *)OPENSSL_sk_new_null();" (assignment_expression "a_00 = (X509_CRL *)OPENSSL_sk_new_null()" identifier = (cast_expression "(X509_CRL *)OPENSSL_sk_new_null()" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_new_null()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }" if (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" ( (binary_expression "a_00 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pBVar5->cb_arg = (char *)a_00;\n            local_3c = 0;\n            pXVar8 = a_00;\n            if (local_4c != 0) goto LAB_00037930;\n            local_3c = local_4c;\n            goto LAB_00037ade;\n          }" { (expression_statement "pBVar5->cb_arg = (char *)a_00;" (assignment_expression "pBVar5->cb_arg = (char *)a_00" (field_expression "pBVar5->cb_arg" identifier -> field_identifier) = (cast_expression "(char *)a_00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "pXVar8 = a_00;" (assignment_expression "pXVar8 = a_00" identifier = identifier) ;) (if_statement "if (local_4c != 0) goto LAB_00037930;" if (parenthesized_expression "(local_4c != 0)" ( (binary_expression "local_4c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00037930;" goto statement_identifier ;)) (expression_statement "local_3c = local_4c;" (assignment_expression "local_3c = local_4c" identifier = identifier) ;) (goto_statement "goto LAB_00037ade;" goto statement_identifier ;) })) })) })) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (goto_statement "goto _L12;" goto statement_identifier ;) })) (switch_statement "switch(iVar4) {\n  default:\n    goto _L2;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    opt_help((OPTIONS *)crl2pkcs7_options);\n    local_48 = 0;\n    local_44 = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    s = opt_arg();\n    result = (undefined1 *)&informat;\n    break;\n  case 3:\n    s = opt_arg();\n    result = (undefined1 *)&outformat;\n    break;\n  case 4:\n    local_44 = (BIO *)opt_arg();\n    goto _L2;\n  case 5:\n    local_40 = opt_arg();\n    goto _L2;\n  case 6:\n    bVar2 = true;\n    goto _L2;\n  case 7:\n    if ((local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      local_44 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    pcVar9 = opt_arg();\n    iVar4 = OPENSSL_sk_push(local_4c,pcVar9);\n    if (iVar4 == 0) goto LAB_0003771b;\n    goto _L2;\n  case -1:\n    goto _L12;\n  }" switch (parenthesized_expression "(iVar4)" ( identifier )) (compound_statement "{\n  default:\n    goto _L2;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    opt_help((OPTIONS *)crl2pkcs7_options);\n    local_48 = 0;\n    local_44 = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    s = opt_arg();\n    result = (undefined1 *)&informat;\n    break;\n  case 3:\n    s = opt_arg();\n    result = (undefined1 *)&outformat;\n    break;\n  case 4:\n    local_44 = (BIO *)opt_arg();\n    goto _L2;\n  case 5:\n    local_40 = opt_arg();\n    goto _L2;\n  case 6:\n    bVar2 = true;\n    goto _L2;\n  case 7:\n    if ((local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      local_44 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    pcVar9 = opt_arg();\n    iVar4 = OPENSSL_sk_push(local_4c,pcVar9);\n    if (iVar4 == 0) goto LAB_0003771b;\n    goto _L2;\n  case -1:\n    goto _L12;\n  }" { (case_statement "default:\n    goto _L2;" default : (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    opt_help((OPTIONS *)crl2pkcs7_options);\n    local_48 = 0;\n    local_44 = (BIO *)0x0;\n    goto LAB_00037731;" case number_literal : (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "opt_help((OPTIONS *)crl2pkcs7_options);" (call_expression "opt_help((OPTIONS *)crl2pkcs7_options)" identifier (argument_list "((OPTIONS *)crl2pkcs7_options)" ( (cast_expression "(OPTIONS *)crl2pkcs7_options" ( (type_descriptor "OPTIONS *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_44 = (BIO *)0x0;" (assignment_expression "local_44 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;)) (case_statement "case 2:\n    s = opt_arg();\n    result = (undefined1 *)&informat;\n    break;" case number_literal : (expression_statement "s = opt_arg();" (assignment_expression "s = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) (expression_statement "result = (undefined1 *)&informat;" (assignment_expression "result = (undefined1 *)&informat" identifier = (cast_expression "(undefined1 *)&informat" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&informat" & identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n    s = opt_arg();\n    result = (undefined1 *)&outformat;\n    break;" case number_literal : (expression_statement "s = opt_arg();" (assignment_expression "s = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) (expression_statement "result = (undefined1 *)&outformat;" (assignment_expression "result = (undefined1 *)&outformat" identifier = (cast_expression "(undefined1 *)&outformat" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&outformat" & identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n    local_44 = (BIO *)opt_arg();\n    goto _L2;" case number_literal : (expression_statement "local_44 = (BIO *)opt_arg();" (assignment_expression "local_44 = (BIO *)opt_arg()" identifier = (cast_expression "(BIO *)opt_arg()" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "opt_arg()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 5:\n    local_40 = opt_arg();\n    goto _L2;" case number_literal : (expression_statement "local_40 = opt_arg();" (assignment_expression "local_40 = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 6:\n    bVar2 = true;\n    goto _L2;" case number_literal : (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 7:\n    if ((local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      local_44 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }\n    pcVar9 = opt_arg();\n    iVar4 = OPENSSL_sk_push(local_4c,pcVar9);\n    if (iVar4 == 0) goto LAB_0003771b;\n    goto _L2;" case number_literal : (if_statement "if ((local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      local_44 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }" if (parenthesized_expression "((local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0))" ( (binary_expression "(local_4c == 0) && (local_4c = OPENSSL_sk_new_null(), local_4c == 0)" (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) && (parenthesized_expression "(local_4c = OPENSSL_sk_new_null(), local_4c == 0)" ( (comma_expression "local_4c = OPENSSL_sk_new_null(), local_4c == 0" (assignment_expression "local_4c = OPENSSL_sk_new_null()" identifier = (call_expression "OPENSSL_sk_new_null()" identifier (argument_list "()" ( )))) , (binary_expression "local_4c == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      local_44 = (BIO *)0x0;\n      local_48 = 1;\n      goto LAB_00037731;\n    }" { (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_44 = (BIO *)0x0;" (assignment_expression "local_44 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "pcVar9 = opt_arg();" (assignment_expression "pcVar9 = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = OPENSSL_sk_push(local_4c,pcVar9);" (assignment_expression "iVar4 = OPENSSL_sk_push(local_4c,pcVar9)" identifier = (call_expression "OPENSSL_sk_push(local_4c,pcVar9)" identifier (argument_list "(local_4c,pcVar9)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_0003771b;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003771b;" goto statement_identifier ;)) (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case -1:\n    goto _L12;" case number_literal : (goto_statement "goto _L12;" goto statement_identifier ;)) })) (expression_statement "pcVar9 = (char *)0x2;" (assignment_expression "pcVar9 = (char *)0x2" identifier = (cast_expression "(char *)0x2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = opt_format(s,2,(int *)result);" (assignment_expression "iVar4 = opt_format(s,2,(int *)result)" identifier = (call_expression "opt_format(s,2,(int *)result)" identifier (argument_list "(s,2,(int *)result)" ( identifier , number_literal , (cast_expression "(int *)result" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar4 == 0) goto _L12;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto _L12;" goto statement_identifier ;)) (goto_statement "goto _L2;" goto statement_identifier ;) (labeled_statement "LAB_00037930:\n  iVar4 = OPENSSL_sk_num(local_4c);" statement_identifier : (expression_statement "iVar4 = OPENSSL_sk_num(local_4c);" (assignment_expression "iVar4 = OPENSSL_sk_num(local_4c)" identifier = (call_expression "OPENSSL_sk_num(local_4c)" identifier (argument_list "(local_4c)" ( identifier )))) ;)) (if_statement "if (iVar4 <= local_3c) goto LAB_00037ade;" if (parenthesized_expression "(iVar4 <= local_3c)" ( (binary_expression "iVar4 <= local_3c" identifier <= identifier) )) (goto_statement "goto LAB_00037ade;" goto statement_identifier ;)) (expression_statement "result = (undefined1 *)OPENSSL_sk_value(local_4c,local_3c);" (assignment_expression "result = (undefined1 *)OPENSSL_sk_value(local_4c,local_3c)" identifier = (cast_expression "(undefined1 *)OPENSSL_sk_value(local_4c,local_3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(local_4c,local_3c)" identifier (argument_list "(local_4c,local_3c)" ( identifier , identifier ))))) ;) (expression_statement "pBVar5 = BIO_new_file(result,"r");" (assignment_expression "pBVar5 = BIO_new_file(result,"r")" identifier = (call_expression "BIO_new_file(result,"r")" identifier (argument_list "(result,"r")" ( identifier , (string_literal ""r"" " string_content ") )))) ;) (if_statement "if (pBVar5 == (BIO *)0x0) {\n    BIO_printf((BIO *)bio_err,"error opening the file, %s\n",result,pXVar8);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    pcVar9 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"error loading certificates\n",result,pXVar8);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors((BIO *)bio_err);\n    local_48 = 1;\n    goto LAB_00037731;\n  }" if (parenthesized_expression "(pBVar5 == (BIO *)0x0)" ( (binary_expression "pBVar5 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    BIO_printf((BIO *)bio_err,"error opening the file, %s\n",result,pXVar8);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    pcVar9 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"error loading certificates\n",result,pXVar8);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors((BIO *)bio_err);\n    local_48 = 1;\n    goto LAB_00037731;\n  }" { (expression_statement "BIO_printf((BIO *)bio_err,"error opening the file, %s\n",result,pXVar8);" (call_expression "BIO_printf((BIO *)bio_err,"error opening the file, %s\n",result,pXVar8)" identifier (argument_list "((BIO *)bio_err,"error opening the file, %s\n",result,pXVar8)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""error opening the file, %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "BIO_free((BIO *)0x0);" (call_expression "BIO_free((BIO *)0x0)" identifier (argument_list "((BIO *)0x0)" ( (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "OPENSSL_sk_free(0);" (call_expression "OPENSSL_sk_free(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (labeled_statement "LAB_00037bb4:\n    pcVar9 = "error loading certificates\n";" statement_identifier : (expression_statement "pcVar9 = "error loading certificates\n";" (assignment_expression "pcVar9 = "error loading certificates\n"" identifier = (string_literal ""error loading certificates\n"" " string_content escape_sequence ")) ;)) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf((BIO *)bio_err,"error loading certificates\n",result,pXVar8);" (call_expression "BIO_printf((BIO *)bio_err,"error loading certificates\n",result,pXVar8)" identifier (argument_list "((BIO *)bio_err,"error loading certificates\n",result,pXVar8)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""error loading certificates\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ERR_print_errors((BIO *)bio_err);" (call_expression "ERR_print_errors((BIO *)bio_err)" identifier (argument_list "((BIO *)bio_err)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "pXVar8 = (X509_CRL *)\n           PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "pXVar8 = (X509_CRL *)\n           PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" identifier = (cast_expression "(X509_CRL *)\n           PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" identifier (argument_list "(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" ( identifier , (cast_expression "(stack_st_X509_INFO *)0x0" ( (type_descriptor "stack_st_X509_INFO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (if_statement "if (pXVar8 == (X509_CRL *)0x0) {\n    pXVar8 = extraout_EDX;\n    BIO_printf((BIO *)bio_err,"error reading the file, %s\n",result,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }" if (parenthesized_expression "(pXVar8 == (X509_CRL *)0x0)" ( (binary_expression "pXVar8 == (X509_CRL *)0x0" identifier == (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pXVar8 = extraout_EDX;\n    BIO_printf((BIO *)bio_err,"error reading the file, %s\n",result,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }" { (expression_statement "pXVar8 = extraout_EDX;" (assignment_expression "pXVar8 = extraout_EDX" identifier = identifier) ;) (expression_statement "BIO_printf((BIO *)bio_err,"error reading the file, %s\n",result,extraout_EDX);" (call_expression "BIO_printf((BIO *)bio_err,"error reading the file, %s\n",result,extraout_EDX)" identifier (argument_list "((BIO *)bio_err,"error reading the file, %s\n",result,extraout_EDX)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""error reading the file, %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "BIO_free(pBVar5);" (call_expression "BIO_free(pBVar5)" identifier (argument_list "(pBVar5)" ( identifier ))) ;) (expression_statement "OPENSSL_sk_free(0);" (call_expression "OPENSSL_sk_free(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (goto_statement "goto LAB_00037bb4;" goto statement_identifier ;) })) (while_statement "while (iVar4 = OPENSSL_sk_num(pXVar8), iVar4 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar8);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }" while (parenthesized_expression "(iVar4 = OPENSSL_sk_num(pXVar8), iVar4 != 0)" ( (comma_expression "iVar4 = OPENSSL_sk_num(pXVar8), iVar4 != 0" (assignment_expression "iVar4 = OPENSSL_sk_num(pXVar8)" identifier = (call_expression "OPENSSL_sk_num(pXVar8)" identifier (argument_list "(pXVar8)" ( identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar8);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }" { (expression_statement "a = (X509_INFO *)OPENSSL_sk_shift(pXVar8);" (assignment_expression "a = (X509_INFO *)OPENSSL_sk_shift(pXVar8)" identifier = (cast_expression "(X509_INFO *)OPENSSL_sk_shift(pXVar8)" ( (type_descriptor "X509_INFO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_shift(pXVar8)" identifier (argument_list "(pXVar8)" ( identifier ))))) ;) (if_statement "if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }" if (parenthesized_expression "(a->x509 != (X509 *)0x0)" ( (binary_expression "a->x509 != (X509 *)0x0" (field_expression "a->x509" identifier -> field_identifier) != (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }" { (expression_statement "OPENSSL_sk_push(a_00,a->x509);" (call_expression "OPENSSL_sk_push(a_00,a->x509)" identifier (argument_list "(a_00,a->x509)" ( identifier , (field_expression "a->x509" identifier -> field_identifier) ))) ;) (expression_statement "a->x509 = (X509 *)0x0;" (assignment_expression "a->x509 = (X509 *)0x0" (field_expression "a->x509" identifier -> field_identifier) = (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "X509_INFO_free(a);" (call_expression "X509_INFO_free(a)" identifier (argument_list "(a)" ( identifier ))) ;) })) (expression_statement "BIO_free(pBVar5);" (call_expression "BIO_free(pBVar5)" identifier (argument_list "(pBVar5)" ( identifier ))) ;) (expression_statement "OPENSSL_sk_free(pXVar8);" (call_expression "OPENSSL_sk_free(pXVar8)" identifier (argument_list "(pXVar8)" ( identifier ))) ;) (expression_statement "local_3c = local_3c + 1;" (assignment_expression "local_3c = local_3c + 1" identifier = (binary_expression "local_3c + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00037930;" goto statement_identifier ;) (labeled_statement "LAB_00037ade:\n  pcVar9 = (char *)0x77;" statement_identifier : (expression_statement "pcVar9 = (char *)0x77;" (assignment_expression "pcVar9 = (char *)0x77" identifier = (cast_expression "(char *)0x77" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "result = (undefined1 *)outformat;" (assignment_expression "result = (undefined1 *)outformat" identifier = (cast_expression "(undefined1 *)outformat" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBVar5 = (BIO *)bio_open_default(local_40,'w',outformat);" (assignment_expression "pBVar5 = (BIO *)bio_open_default(local_40,'w',outformat)" identifier = (cast_expression "(BIO *)bio_open_default(local_40,'w',outformat)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bio_open_default(local_40,'w',outformat)" identifier (argument_list "(local_40,'w',outformat)" ( identifier , (char_literal "'w'" ' character ') , identifier ))))) ;) (if_statement "if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    local_48 = 1;\n  }\n  else {\n    if (outformat == 4) {\n      pcVar9 = (char *)p7;\n      result = (undefined1 *)outformat;\n      local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      piVar3 = extraout_EDX_02;\n    }\n    else {\n      piVar3 = extraout_EDX_00;\n      if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }\n    }\n    a_00 = (X509_CRL *)0x0;\n    local_48 = 0;\n    if (local_3c == 0) {\n      pcVar9 = "unable to write pkcs7 object\n";\n      BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);\n      ERR_print_errors((BIO *)bio_err);\n      local_48 = 1;\n      result = (undefined1 *)piVar3;\n    }\n  }" if (parenthesized_expression "(pBVar5 == (BIO *)0x0)" ( (binary_expression "pBVar5 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    local_48 = 1;\n  }" { (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00037a87:\n    local_48 = 1;" statement_identifier : (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;)) }) (else_clause "else {\n    if (outformat == 4) {\n      pcVar9 = (char *)p7;\n      result = (undefined1 *)outformat;\n      local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      piVar3 = extraout_EDX_02;\n    }\n    else {\n      piVar3 = extraout_EDX_00;\n      if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }\n    }\n    a_00 = (X509_CRL *)0x0;\n    local_48 = 0;\n    if (local_3c == 0) {\n      pcVar9 = "unable to write pkcs7 object\n";\n      BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);\n      ERR_print_errors((BIO *)bio_err);\n      local_48 = 1;\n      result = (undefined1 *)piVar3;\n    }\n  }" else (compound_statement "{\n    if (outformat == 4) {\n      pcVar9 = (char *)p7;\n      result = (undefined1 *)outformat;\n      local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      piVar3 = extraout_EDX_02;\n    }\n    else {\n      piVar3 = extraout_EDX_00;\n      if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }\n    }\n    a_00 = (X509_CRL *)0x0;\n    local_48 = 0;\n    if (local_3c == 0) {\n      pcVar9 = "unable to write pkcs7 object\n";\n      BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);\n      ERR_print_errors((BIO *)bio_err);\n      local_48 = 1;\n      result = (undefined1 *)piVar3;\n    }\n  }" { (if_statement "if (outformat == 4) {\n      pcVar9 = (char *)p7;\n      result = (undefined1 *)outformat;\n      local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      piVar3 = extraout_EDX_02;\n    }\n    else {\n      piVar3 = extraout_EDX_00;\n      if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }\n    }" if (parenthesized_expression "(outformat == 4)" ( (binary_expression "outformat == 4" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = (char *)p7;\n      result = (undefined1 *)outformat;\n      local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      piVar3 = extraout_EDX_02;\n    }" { (expression_statement "pcVar9 = (char *)p7;" (assignment_expression "pcVar9 = (char *)p7" identifier = (cast_expression "(char *)p7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "result = (undefined1 *)outformat;" (assignment_expression "result = (undefined1 *)outformat" identifier = (cast_expression "(undefined1 *)outformat" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);" (assignment_expression "local_3c = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7)" identifier = (call_expression "i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7)" identifier (argument_list "(pBVar5,(PKCS7 *)p7)" ( identifier , (cast_expression "(PKCS7 *)p7" ( (type_descriptor "PKCS7 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "piVar3 = extraout_EDX_02;" (assignment_expression "piVar3 = extraout_EDX_02" identifier = identifier) ;) }) (else_clause "else {\n      piVar3 = extraout_EDX_00;\n      if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }\n    }" else (compound_statement "{\n      piVar3 = extraout_EDX_00;\n      if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }\n    }" { (expression_statement "piVar3 = extraout_EDX_00;" (assignment_expression "piVar3 = extraout_EDX_00" identifier = identifier) ;) (if_statement "if (outformat == 0x8005) {\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }" if (parenthesized_expression "(outformat == 0x8005)" ( (binary_expression "outformat == 0x8005" identifier == number_literal) )) (compound_statement "{\n        pcVar9 = (char *)p7;\n        result = (undefined1 *)outformat;\n        local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n        piVar3 = extraout_EDX_01;\n      }" { (expression_statement "pcVar9 = (char *)p7;" (assignment_expression "pcVar9 = (char *)p7" identifier = (cast_expression "(char *)p7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "result = (undefined1 *)outformat;" (assignment_expression "result = (undefined1 *)outformat" identifier = (cast_expression "(undefined1 *)outformat" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);" (assignment_expression "local_3c = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7)" identifier = (call_expression "PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7)" identifier (argument_list "(pBVar5,(PKCS7 *)p7)" ( identifier , (cast_expression "(PKCS7 *)p7" ( (type_descriptor "PKCS7 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "piVar3 = extraout_EDX_01;" (assignment_expression "piVar3 = extraout_EDX_01" identifier = identifier) ;) })) }))) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (if_statement "if (local_3c == 0) {\n      pcVar9 = "unable to write pkcs7 object\n";\n      BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);\n      ERR_print_errors((BIO *)bio_err);\n      local_48 = 1;\n      result = (undefined1 *)piVar3;\n    }" if (parenthesized_expression "(local_3c == 0)" ( (binary_expression "local_3c == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = "unable to write pkcs7 object\n";\n      BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);\n      ERR_print_errors((BIO *)bio_err);\n      local_48 = 1;\n      result = (undefined1 *)piVar3;\n    }" { (expression_statement "pcVar9 = "unable to write pkcs7 object\n";" (assignment_expression "pcVar9 = "unable to write pkcs7 object\n"" identifier = (string_literal ""unable to write pkcs7 object\n"" " string_content escape_sequence ")) ;) (expression_statement "BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);" (call_expression "BIO_printf((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3)" identifier (argument_list "((BIO *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unable to write pkcs7 object\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "ERR_print_errors((BIO *)bio_err);" (call_expression "ERR_print_errors((BIO *)bio_err)" identifier (argument_list "((BIO *)bio_err)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (expression_statement "result = (undefined1 *)piVar3;" (assignment_expression "result = (undefined1 *)piVar3" identifier = (cast_expression "(undefined1 *)piVar3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }))) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) (labeled_statement "_L12:\n  pcVar9 = "%s: Use -help for summary.\n";" statement_identifier : (expression_statement "pcVar9 = "%s: Use -help for summary.\n";" (assignment_expression "pcVar9 = "%s: Use -help for summary.\n"" identifier = (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ")) ;)) (expression_statement "BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",piVar3);" (call_expression "BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",piVar3)" identifier (argument_list "((BIO *)bio_err,"%s: Use -help for summary.\n",piVar3)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "result = (undefined1 *)piVar3;" (assignment_expression "result = (undefined1 *)piVar3" identifier = (cast_expression "(undefined1 *)piVar3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_0003771b:\n  local_48 = 1;" statement_identifier : (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;)) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_44 = (BIO *)0x0;" (assignment_expression "local_44 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00037731:\n  OPENSSL_sk_free(local_4c,pcVar9,result);" statement_identifier : (expression_statement "OPENSSL_sk_free(local_4c,pcVar9,result);" (call_expression "OPENSSL_sk_free(local_4c,pcVar9,result)" identifier (argument_list "(local_4c,pcVar9,result)" ( identifier , identifier , identifier ))) ;)) (expression_statement "BIO_free(local_44);" (call_expression "BIO_free(local_44)" identifier (argument_list "(local_44)" ( identifier ))) ;) (expression_statement "BIO_free_all(pBVar5);" (call_expression "BIO_free_all(pBVar5)" identifier (argument_list "(pBVar5)" ( identifier ))) ;) (expression_statement "PKCS7_free((PKCS7 *)p7);" (call_expression "PKCS7_free((PKCS7 *)p7)" identifier (argument_list "((PKCS7 *)p7)" ( (cast_expression "(PKCS7 *)p7" ( (type_descriptor "PKCS7 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "X509_CRL_free(a_00);" (call_expression "X509_CRL_free(a_00)" identifier (argument_list "(a_00)" ( identifier ))) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_48;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return local_48;\n  }" { (return_statement "return local_48;" return identifier ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "int FUN_00037650(undefined4 param_1,char *param_2)\n\n{\n  bool bVar1;\n  char *****pppppcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  int iVar7;\n  stack_st_X509_CRL *psVar8;\n  int iVar9;\n  undefined **filename;\n  X509_CRL *pXVar10;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  char *****pppppcVar11;\n  char *****extraout_EDX_00;\n  char *****extraout_EDX_01;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  undefined8 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  BIO *bp;\n  undefined4 uVar16;\n  char *****pppppcVar17;\n  pkcs7_st *ppVar18;\n  char ****local_28;\n  char ****local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar1 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (char ****)0x8005;\n  local_24 = (char ****)0x8005;\n  filename = &PTR_DAT_000b6920;\n  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);\n  pppppcVar11 = &local_24;\n  uVar16 = 0;\n  pppppcVar17 = &local_28;\n  uVar15 = 0;\n  iVar13 = 0;\nLAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);\n  if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }\n  switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }\n  param_2 = (char *)0x2;\n  iVar3 = FUN_00077fb0(uVar4,2,filename);\n  if (iVar3 == 0) goto LAB_00037700;\n  goto LAB_000376c0;\nLAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);\n  if (iVar9 <= iVar7) goto LAB_00037ade;\n  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);\n  pBVar5 = BIO_new_file((char *)filename,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }\n  pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar10);\n  iVar7 = iVar7 + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  param_2 = (char *)0x77;\n  filename = (undefined **)local_24;\n  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);\n  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);\n  pBVar5 = (BIO *)uVar12;\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }\n  goto LAB_00037731;\nLAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";\n  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);\n  filename = (undefined **)pppppcVar2;\ncode_r0x0003771b:\n  iVar3 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  bp = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);\n  BIO_free(bp);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    \n  FUN_0007d010();\n}\n\n" (function_definition "int FUN_00037650(undefined4 param_1,char *param_2)\n\n{\n  bool bVar1;\n  char *****pppppcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  int iVar7;\n  stack_st_X509_CRL *psVar8;\n  int iVar9;\n  undefined **filename;\n  X509_CRL *pXVar10;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  char *****pppppcVar11;\n  char *****extraout_EDX_00;\n  char *****extraout_EDX_01;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  undefined8 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  BIO *bp;\n  undefined4 uVar16;\n  char *****pppppcVar17;\n  pkcs7_st *ppVar18;\n  char ****local_28;\n  char ****local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar1 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (char ****)0x8005;\n  local_24 = (char ****)0x8005;\n  filename = &PTR_DAT_000b6920;\n  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);\n  pppppcVar11 = &local_24;\n  uVar16 = 0;\n  pppppcVar17 = &local_28;\n  uVar15 = 0;\n  iVar13 = 0;\nLAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);\n  if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }\n  switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }\n  param_2 = (char *)0x2;\n  iVar3 = FUN_00077fb0(uVar4,2,filename);\n  if (iVar3 == 0) goto LAB_00037700;\n  goto LAB_000376c0;\nLAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);\n  if (iVar9 <= iVar7) goto LAB_00037ade;\n  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);\n  pBVar5 = BIO_new_file((char *)filename,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }\n  pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar10);\n  iVar7 = iVar7 + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  param_2 = (char *)0x77;\n  filename = (undefined **)local_24;\n  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);\n  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);\n  pBVar5 = (BIO *)uVar12;\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }\n  goto LAB_00037731;\nLAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";\n  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);\n  filename = (undefined **)pppppcVar2;\ncode_r0x0003771b:\n  iVar3 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  bp = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);\n  BIO_free(bp);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    \n  FUN_0007d010();\n}" primitive_type (function_declarator "FUN_00037650(undefined4 param_1,char *param_2)" identifier (parameter_list "(undefined4 param_1,char *param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  char *****pppppcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  int iVar7;\n  stack_st_X509_CRL *psVar8;\n  int iVar9;\n  undefined **filename;\n  X509_CRL *pXVar10;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  char *****pppppcVar11;\n  char *****extraout_EDX_00;\n  char *****extraout_EDX_01;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  undefined8 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  BIO *bp;\n  undefined4 uVar16;\n  char *****pppppcVar17;\n  pkcs7_st *ppVar18;\n  char ****local_28;\n  char ****local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar1 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (char ****)0x8005;\n  local_24 = (char ****)0x8005;\n  filename = &PTR_DAT_000b6920;\n  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);\n  pppppcVar11 = &local_24;\n  uVar16 = 0;\n  pppppcVar17 = &local_28;\n  uVar15 = 0;\n  iVar13 = 0;\nLAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);\n  if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }\n  switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }\n  param_2 = (char *)0x2;\n  iVar3 = FUN_00077fb0(uVar4,2,filename);\n  if (iVar3 == 0) goto LAB_00037700;\n  goto LAB_000376c0;\nLAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);\n  if (iVar9 <= iVar7) goto LAB_00037ade;\n  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);\n  pBVar5 = BIO_new_file((char *)filename,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }\n  pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar10);\n  iVar7 = iVar7 + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  param_2 = (char *)0x77;\n  filename = (undefined **)local_24;\n  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);\n  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);\n  pBVar5 = (BIO *)uVar12;\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }\n  goto LAB_00037731;\nLAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";\n  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);\n  filename = (undefined **)pppppcVar2;\ncode_r0x0003771b:\n  iVar3 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  bp = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);\n  BIO_free(bp);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    \n  FUN_0007d010();\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "char *****pppppcVar2;" primitive_type (pointer_declarator "*****pppppcVar2" * (pointer_declarator "****pppppcVar2" * (pointer_declarator "***pppppcVar2" * (pointer_declarator "**pppppcVar2" * (pointer_declarator "*pppppcVar2" * identifier))))) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "X509_CRL *p7;" type_identifier (pointer_declarator "*p7" * identifier) ;) (declaration "BIO *pBVar5;" type_identifier (pointer_declarator "*pBVar5" * identifier) ;) (declaration "ASN1_OBJECT *pAVar6;" type_identifier (pointer_declarator "*pAVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "stack_st_X509_CRL *psVar8;" type_identifier (pointer_declarator "*psVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined **filename;" type_identifier (pointer_declarator "**filename" * (pointer_declarator "*filename" * identifier)) ;) (declaration "X509_CRL *pXVar10;" type_identifier (pointer_declarator "*pXVar10" * identifier) ;) (declaration "X509_INFO *a;" type_identifier (pointer_declarator "*a" * identifier) ;) (declaration "X509_CRL *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "char *****pppppcVar11;" primitive_type (pointer_declarator "*****pppppcVar11" * (pointer_declarator "****pppppcVar11" * (pointer_declarator "***pppppcVar11" * (pointer_declarator "**pppppcVar11" * (pointer_declarator "*pppppcVar11" * identifier))))) ;) (declaration "char *****extraout_EDX_00;" primitive_type (pointer_declarator "*****extraout_EDX_00" * (pointer_declarator "****extraout_EDX_00" * (pointer_declarator "***extraout_EDX_00" * (pointer_declarator "**extraout_EDX_00" * (pointer_declarator "*extraout_EDX_00" * identifier))))) ;) (declaration "char *****extraout_EDX_01;" primitive_type (pointer_declarator "*****extraout_EDX_01" * (pointer_declarator "****extraout_EDX_01" * (pointer_declarator "***extraout_EDX_01" * (pointer_declarator "**extraout_EDX_01" * (pointer_declarator "*extraout_EDX_01" * identifier))))) ;) (declaration "X509_CRL *a_00;" type_identifier (pointer_declarator "*a_00" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "BIO *bp;" type_identifier (pointer_declarator "*bp" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "char *****pppppcVar17;" primitive_type (pointer_declarator "*****pppppcVar17" * (pointer_declarator "****pppppcVar17" * (pointer_declarator "***pppppcVar17" * (pointer_declarator "**pppppcVar17" * (pointer_declarator "*pppppcVar17" * identifier))))) ;) (declaration "pkcs7_st *ppVar18;" type_identifier (pointer_declarator "*ppVar18" * identifier) ;) (declaration "char ****local_28;" primitive_type (pointer_declarator "****local_28" * (pointer_declarator "***local_28" * (pointer_declarator "**local_28" * (pointer_declarator "*local_28" * identifier)))) ;) (declaration "char ****local_24;" primitive_type (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)))) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "uStack_14 = 0x3765b;" (assignment_expression "uStack_14 = 0x3765b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_28 = (char ****)0x8005;" (assignment_expression "local_28 = (char ****)0x8005" identifier = (cast_expression "(char ****)0x8005" ( (type_descriptor "char ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "local_24 = (char ****)0x8005;" (assignment_expression "local_24 = (char ****)0x8005" identifier = (cast_expression "(char ****)0x8005" ( (type_descriptor "char ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "filename = &PTR_DAT_000b6920;" (assignment_expression "filename = &PTR_DAT_000b6920" identifier = (pointer_expression "&PTR_DAT_000b6920" & identifier)) ;) (expression_statement "pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);" (assignment_expression "pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920)" identifier = (cast_expression "(char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920)" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920)" identifier (argument_list "(param_1,param_2,&PTR_DAT_000b6920)" ( identifier , identifier , (pointer_expression "&PTR_DAT_000b6920" & identifier) ))))) ;) (expression_statement "pppppcVar11 = &local_24;" (assignment_expression "pppppcVar11 = &local_24" identifier = (pointer_expression "&local_24" & identifier)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "pppppcVar17 = &local_28;" (assignment_expression "pppppcVar17 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);" statement_identifier : (expression_statement "iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);" (assignment_expression "iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17)" identifier = (call_expression "FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17)" identifier (argument_list "(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17)" ( identifier , identifier , identifier , identifier , identifier )))) ;)) (if_statement "if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }" { (expression_statement "iVar3 = FUN_00079110();" (assignment_expression "iVar3 = FUN_00079110()" identifier = (call_expression "FUN_00079110()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" { (if_statement "if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }" { (expression_statement "param_2 = (char *)0x72;" (assignment_expression "param_2 = (char *)0x72" identifier = (cast_expression "(char *)0x72" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "filename = (undefined **)local_28;" (assignment_expression "filename = (undefined **)local_28" identifier = (cast_expression "(undefined **)local_28" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);" (assignment_expression "bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28)" identifier = (cast_expression "(BIO *)FUN_00075fa0(uVar15,0x72,local_28)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fa0(uVar15,0x72,local_28)" identifier (argument_list "(uVar15,0x72,local_28)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }" if (parenthesized_expression "(bp == (BIO *)0x0)" ( (binary_expression "bp == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }" { (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }" else (compound_statement "{\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }" { (if_statement "if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" if (parenthesized_expression "((char *****)local_28 == (char *****)0x4)" ( (binary_expression "(char *****)local_28 == (char *****)0x4" (cast_expression "(char *****)local_28" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(char *****)0x4" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }" { (expression_statement "param_2 = (char *)0x0;" (assignment_expression "param_2 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);" (assignment_expression "a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0)" identifier = (call_expression "d2i_X509_CRL_bio(bp,(X509_CRL **)0x0)" identifier (argument_list "(bp,(X509_CRL **)0x0)" ( identifier , (cast_expression "(X509_CRL **)0x0" ( (type_descriptor "X509_CRL **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (labeled_statement "LAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;" statement_identifier : (if_statement "if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;" if (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" ( (binary_expression "a_00 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00037873;" goto statement_identifier ;))) }) (else_clause "else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" else (if_statement "if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" if (parenthesized_expression "((char *****)local_28 == (char *****)0x8005)" ( (binary_expression "(char *****)local_28 == (char *****)0x8005" (cast_expression "(char *****)local_28" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(char *****)0x8005" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" { (expression_statement "filename = (undefined **)0x0;" (assignment_expression "filename = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "param_2 = (char *)0x0;" (assignment_expression "param_2 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier = (call_expression "PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier (argument_list "(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" ( identifier , (cast_expression "(X509_CRL **)0x0" ( (type_descriptor "X509_CRL **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (goto_statement "goto LAB_00037aa8;" goto statement_identifier ;) })))) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_2 = "unable to load CRL\n";" (assignment_expression "param_2 = "unable to load CRL\n"" identifier = (string_literal ""unable to load CRL\n"" " string_content escape_sequence ")) ;) (expression_statement "BIO_printf(DAT_000c458c,"unable to load CRL\n");" (call_expression "BIO_printf(DAT_000c458c,"unable to load CRL\n")" identifier (argument_list "(DAT_000c458c,"unable to load CRL\n")" ( identifier , (string_literal ""unable to load CRL\n"" " string_content escape_sequence ") ))) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" identifier (argument_list "(DAT_000c458c)" ( identifier ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();" statement_identifier : (expression_statement "p7 = (X509_CRL *)PKCS7_new();" (assignment_expression "p7 = (X509_CRL *)PKCS7_new()" identifier = (cast_expression "(X509_CRL *)PKCS7_new()" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "PKCS7_new()" identifier (argument_list "()" ( ))))) ;)) (if_statement "if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }" if (parenthesized_expression "(p7 != (X509_CRL *)0x0)" ( (binary_expression "p7 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }" { (expression_statement "pBVar5 = (BIO *)PKCS7_SIGNED_new();" (assignment_expression "pBVar5 = (BIO *)PKCS7_SIGNED_new()" identifier = (cast_expression "(BIO *)PKCS7_SIGNED_new()" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "PKCS7_SIGNED_new()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;" if (parenthesized_expression "(pBVar5 == (BIO *)0x0)" ( (binary_expression "pBVar5 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00037a87;" goto statement_identifier ;)) (expression_statement "pAVar6 = OBJ_nid2obj(0x16);" (assignment_expression "pAVar6 = OBJ_nid2obj(0x16)" identifier = (call_expression "OBJ_nid2obj(0x16)" identifier (argument_list "(0x16)" ( number_literal )))) ;) (expression_statement "((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;" (assignment_expression "((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5" (field_expression "((_union_450 *)&p7->akid)->sign" (parenthesized_expression "((_union_450 *)&p7->akid)" ( (cast_expression "(_union_450 *)&p7->akid" ( (type_descriptor "_union_450 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p7->akid" & (field_expression "p7->akid" identifier -> field_identifier))) )) -> field_identifier) = (cast_expression "(PKCS7_SIGNED *)pBVar5" ( (type_descriptor "PKCS7_SIGNED *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppVar18 = (pkcs7_st *)pBVar5->flags;" (assignment_expression "ppVar18 = (pkcs7_st *)pBVar5->flags" identifier = (cast_expression "(pkcs7_st *)pBVar5->flags" ( (type_descriptor "pkcs7_st *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar5->flags" identifier -> field_identifier))) ;) (expression_statement "p7->flags = (int)pAVar6;" (assignment_expression "p7->flags = (int)pAVar6" (field_expression "p7->flags" identifier -> field_identifier) = (cast_expression "(int)pAVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pAVar6 = OBJ_nid2obj(0x15);" (assignment_expression "pAVar6 = OBJ_nid2obj(0x15)" identifier = (call_expression "OBJ_nid2obj(0x15)" identifier (argument_list "(0x15)" ( number_literal )))) ;) (expression_statement "ppVar18->type = pAVar6;" (assignment_expression "ppVar18->type = pAVar6" (field_expression "ppVar18->type" identifier -> field_identifier) = identifier) ;) (expression_statement "param_2 = (char *)0x1;" (assignment_expression "param_2 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);" (assignment_expression "iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1)" identifier = (call_expression "ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1)" identifier (argument_list "((ASN1_INTEGER *)pBVar5->method,1)" ( (cast_expression "(ASN1_INTEGER *)pBVar5->method" ( (type_descriptor "ASN1_INTEGER *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar5->method" identifier -> field_identifier)) , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }" { (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();" (assignment_expression "psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null()" identifier = (cast_expression "(stack_st_X509_CRL *)OPENSSL_sk_new_null()" ( (type_descriptor "stack_st_X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_new_null()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }" if (parenthesized_expression "(psVar8 != (stack_st_X509_CRL *)0x0)" ( (binary_expression "psVar8 != (stack_st_X509_CRL *)0x0" identifier != (cast_expression "(stack_st_X509_CRL *)0x0" ( (type_descriptor "stack_st_X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }" { (expression_statement "pBVar5->init = (int)psVar8;" (assignment_expression "pBVar5->init = (int)psVar8" (field_expression "pBVar5->init" identifier -> field_identifier) = (cast_expression "(int)psVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }" if (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" ( (binary_expression "a_00 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }" { (expression_statement "OPENSSL_sk_push(psVar8,a_00);" (call_expression "OPENSSL_sk_push(psVar8,a_00)" identifier (argument_list "(psVar8,a_00)" ( identifier , identifier ))) ;) (expression_statement "param_2 = (char *)a_00;" (assignment_expression "param_2 = (char *)a_00" identifier = (cast_expression "(char *)a_00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "a_00 = (X509_CRL *)OPENSSL_sk_new_null();" (assignment_expression "a_00 = (X509_CRL *)OPENSSL_sk_new_null()" identifier = (cast_expression "(X509_CRL *)OPENSSL_sk_new_null()" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_new_null()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }" if (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" ( (binary_expression "a_00 != (X509_CRL *)0x0" identifier != (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }" { (expression_statement "pBVar5->cb_arg = (char *)a_00;" (assignment_expression "pBVar5->cb_arg = (char *)a_00" (field_expression "pBVar5->cb_arg" identifier -> field_identifier) = (cast_expression "(char *)a_00" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pXVar10 = a_00;" (assignment_expression "pXVar10 = a_00" identifier = identifier) ;) (if_statement "if (iVar13 != 0) goto LAB_00037930;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00037930;" goto statement_identifier ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00037ade;" goto statement_identifier ;) })) })) })) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (goto_statement "goto LAB_00037700;" goto statement_identifier ;) })) (switch_statement "switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }" switch (parenthesized_expression "(iVar3)" ( identifier )) (compound_statement "{\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }" { (case_statement "default:\n    goto LAB_000376c0;" default : (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;" case number_literal : (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00079140(&PTR_DAT_000b6920);" (call_expression "FUN_00079140(&PTR_DAT_000b6920)" identifier (argument_list "(&PTR_DAT_000b6920)" ( (pointer_expression "&PTR_DAT_000b6920" & identifier) ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;)) (case_statement "case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;" case number_literal : (expression_statement "filename = (undefined **)pppppcVar17;" (assignment_expression "filename = (undefined **)pppppcVar17" identifier = (cast_expression "(undefined **)pppppcVar17" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar4 = FUN_00078b30();" (assignment_expression "uVar4 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppppcVar17 = (char *****)filename;" (assignment_expression "pppppcVar17 = (char *****)filename" identifier = (cast_expression "(char *****)filename" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;" case number_literal : (expression_statement "filename = (undefined **)pppppcVar11;" (assignment_expression "filename = (undefined **)pppppcVar11" identifier = (cast_expression "(undefined **)pppppcVar11" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar4 = FUN_00078b30();" (assignment_expression "uVar4 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppppcVar11 = (char *****)filename;" (assignment_expression "pppppcVar11 = (char *****)filename" identifier = (cast_expression "(char *****)filename" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;" case number_literal : (expression_statement "uVar15 = FUN_00078b30();" (assignment_expression "uVar15 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;" case number_literal : (expression_statement "uVar16 = FUN_00078b30();" (assignment_expression "uVar16 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case 6:\n    bVar1 = true;\n    goto LAB_000376c0;" case number_literal : (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;" case number_literal : (if_statement "if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" if (parenthesized_expression "((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0))" ( (binary_expression "(iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)" ( (comma_expression "iVar13 = OPENSSL_sk_new_null(), iVar13 == 0" (assignment_expression "iVar13 = OPENSSL_sk_new_null()" identifier = (call_expression "OPENSSL_sk_new_null()" identifier (argument_list "()" ( )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" { (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "param_2 = (char *)FUN_00078b30();" (assignment_expression "param_2 = (char *)FUN_00078b30()" identifier = (cast_expression "(char *)FUN_00078b30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = OPENSSL_sk_push(iVar13,param_2);" (assignment_expression "iVar3 = OPENSSL_sk_push(iVar13,param_2)" identifier = (call_expression "OPENSSL_sk_push(iVar13,param_2)" identifier (argument_list "(iVar13,param_2)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) goto code_r0x0003771b;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x0003771b;" goto statement_identifier ;)) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;)) (case_statement "case -1:\n    goto LAB_00037700;" case number_literal : (goto_statement "goto LAB_00037700;" goto statement_identifier ;)) })) (expression_statement "param_2 = (char *)0x2;" (assignment_expression "param_2 = (char *)0x2" identifier = (cast_expression "(char *)0x2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = FUN_00077fb0(uVar4,2,filename);" (assignment_expression "iVar3 = FUN_00077fb0(uVar4,2,filename)" identifier = (call_expression "FUN_00077fb0(uVar4,2,filename)" identifier (argument_list "(uVar4,2,filename)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_00037700;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037700;" goto statement_identifier ;)) (goto_statement "goto LAB_000376c0;" goto statement_identifier ;) (labeled_statement "LAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);" statement_identifier : (expression_statement "iVar9 = OPENSSL_sk_num(iVar13);" (assignment_expression "iVar9 = OPENSSL_sk_num(iVar13)" identifier = (call_expression "OPENSSL_sk_num(iVar13)" identifier (argument_list "(iVar13)" ( identifier )))) ;)) (if_statement "if (iVar9 <= iVar7) goto LAB_00037ade;" if (parenthesized_expression "(iVar9 <= iVar7)" ( (binary_expression "iVar9 <= iVar7" identifier <= identifier) )) (goto_statement "goto LAB_00037ade;" goto statement_identifier ;)) (expression_statement "filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);" (assignment_expression "filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7)" identifier = (cast_expression "(undefined **)OPENSSL_sk_value(iVar13,iVar7)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "OPENSSL_sk_value(iVar13,iVar7)" identifier (argument_list "(iVar13,iVar7)" ( identifier , identifier ))))) ;) (expression_statement "pBVar5 = BIO_new_file((char *)filename,"r");" (assignment_expression "pBVar5 = BIO_new_file((char *)filename,"r")" identifier = (call_expression "BIO_new_file((char *)filename,"r")" identifier (argument_list "((char *)filename,"r")" ( (cast_expression "(char *)filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""r"" " string_content ") )))) ;) (if_statement "if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }" if (parenthesized_expression "(pBVar5 == (BIO *)0x0)" ( (binary_expression "pBVar5 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }" { (expression_statement "BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);" (call_expression "BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10)" identifier (argument_list "(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10)" ( identifier , (string_literal ""error opening the file, %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "BIO_free((BIO *)0x0);" (call_expression "BIO_free((BIO *)0x0)" identifier (argument_list "((BIO *)0x0)" ( (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "OPENSSL_sk_free(0);" (call_expression "OPENSSL_sk_free(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (labeled_statement "LAB_00037bb4:\n    param_2 = "error loading certificates\n";" statement_identifier : (expression_statement "param_2 = "error loading certificates\n";" (assignment_expression "param_2 = "error loading certificates\n"" identifier = (string_literal ""error loading certificates\n"" " string_content escape_sequence ")) ;)) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);" (call_expression "BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10)" identifier (argument_list "(DAT_000c458c,"error loading certificates\n",filename,pXVar10)" ( identifier , (string_literal ""error loading certificates\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" identifier (argument_list "(DAT_000c458c)" ( identifier ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) })) (expression_statement "pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" identifier = (cast_expression "(X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" identifier (argument_list "(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" ( identifier , (cast_expression "(stack_st_X509_INFO *)0x0" ( (type_descriptor "stack_st_X509_INFO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))))) ;) (if_statement "if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }" if (parenthesized_expression "(pXVar10 == (X509_CRL *)0x0)" ( (binary_expression "pXVar10 == (X509_CRL *)0x0" identifier == (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }" { (expression_statement "pXVar10 = extraout_EDX;" (assignment_expression "pXVar10 = extraout_EDX" identifier = identifier) ;) (expression_statement "BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);" (call_expression "BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX)" identifier (argument_list "(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX)" ( identifier , (string_literal ""error reading the file, %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "BIO_free(pBVar5);" (call_expression "BIO_free(pBVar5)" identifier (argument_list "(pBVar5)" ( identifier ))) ;) (expression_statement "OPENSSL_sk_free(0);" (call_expression "OPENSSL_sk_free(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (goto_statement "goto LAB_00037bb4;" goto statement_identifier ;) })) (while_statement "while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }" while (parenthesized_expression "(iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0)" ( (comma_expression "iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0" (assignment_expression "iVar9 = OPENSSL_sk_num(pXVar10)" identifier = (call_expression "OPENSSL_sk_num(pXVar10)" identifier (argument_list "(pXVar10)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) )) (compound_statement "{\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }" { (expression_statement "a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);" (assignment_expression "a = (X509_INFO *)OPENSSL_sk_shift(pXVar10)" identifier = (cast_expression "(X509_INFO *)OPENSSL_sk_shift(pXVar10)" ( (type_descriptor "X509_INFO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_shift(pXVar10)" identifier (argument_list "(pXVar10)" ( identifier ))))) ;) (if_statement "if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }" if (parenthesized_expression "(a->x509 != (X509 *)0x0)" ( (binary_expression "a->x509 != (X509 *)0x0" (field_expression "a->x509" identifier -> field_identifier) != (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }" { (expression_statement "OPENSSL_sk_push(a_00,a->x509);" (call_expression "OPENSSL_sk_push(a_00,a->x509)" identifier (argument_list "(a_00,a->x509)" ( identifier , (field_expression "a->x509" identifier -> field_identifier) ))) ;) (expression_statement "a->x509 = (X509 *)0x0;" (assignment_expression "a->x509 = (X509 *)0x0" (field_expression "a->x509" identifier -> field_identifier) = (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "X509_INFO_free(a);" (call_expression "X509_INFO_free(a)" identifier (argument_list "(a)" ( identifier ))) ;) })) (expression_statement "BIO_free(pBVar5);" (call_expression "BIO_free(pBVar5)" identifier (argument_list "(pBVar5)" ( identifier ))) ;) (expression_statement "OPENSSL_sk_free(pXVar10);" (call_expression "OPENSSL_sk_free(pXVar10)" identifier (argument_list "(pXVar10)" ( identifier ))) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00037930;" goto statement_identifier ;) (labeled_statement "LAB_00037ade:\n  param_2 = (char *)0x77;" statement_identifier : (expression_statement "param_2 = (char *)0x77;" (assignment_expression "param_2 = (char *)0x77" identifier = (cast_expression "(char *)0x77" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "filename = (undefined **)local_24;" (assignment_expression "filename = (undefined **)local_24" identifier = (cast_expression "(undefined **)local_24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar12 = FUN_00075fa0(uVar16,0x77,local_24);" (assignment_expression "uVar12 = FUN_00075fa0(uVar16,0x77,local_24)" identifier = (call_expression "FUN_00075fa0(uVar16,0x77,local_24)" identifier (argument_list "(uVar16,0x77,local_24)" ( identifier , number_literal , identifier )))) ;) (expression_statement "pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);" (assignment_expression "pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20)" identifier = (cast_expression "(char *****)((ulonglong)uVar12 >> 0x20)" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((ulonglong)uVar12 >> 0x20)" ( (binary_expression "(ulonglong)uVar12 >> 0x20" (cast_expression "(ulonglong)uVar12" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pBVar5 = (BIO *)uVar12;" (assignment_expression "pBVar5 = (BIO *)uVar12" identifier = (cast_expression "(BIO *)uVar12" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }" if (parenthesized_expression "(pBVar5 == (BIO *)0x0)" ( (binary_expression "pBVar5 == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }" { (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00037a87:\n    iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) }) (else_clause "else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }" else (compound_statement "{\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }" { (if_statement "if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" if (parenthesized_expression "((char *****)local_24 == (char *****)0x4)" ( (binary_expression "(char *****)local_24 == (char *****)0x4" (cast_expression "(char *****)local_24" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(char *****)0x4" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }" { (expression_statement "param_2 = (char *)p7;" (assignment_expression "param_2 = (char *)p7" identifier = (cast_expression "(char *)p7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "filename = (undefined **)local_24;" (assignment_expression "filename = (undefined **)local_24" identifier = (cast_expression "(undefined **)local_24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);" (assignment_expression "iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7)" identifier = (call_expression "i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7)" identifier (argument_list "(pBVar5,(PKCS7 *)p7)" ( identifier , (cast_expression "(PKCS7 *)p7" ( (type_descriptor "PKCS7 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pppppcVar11 = extraout_EDX_01;" (assignment_expression "pppppcVar11 = extraout_EDX_01" identifier = identifier) ;) }) (else_clause "else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" else (if_statement "if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" if (parenthesized_expression "((char *****)local_24 == (char *****)0x8005)" ( (binary_expression "(char *****)local_24 == (char *****)0x8005" (cast_expression "(char *****)local_24" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(char *****)0x8005" ( (type_descriptor "char *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" { (expression_statement "param_2 = (char *)p7;" (assignment_expression "param_2 = (char *)p7" identifier = (cast_expression "(char *)p7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "filename = (undefined **)local_24;" (assignment_expression "filename = (undefined **)local_24" identifier = (cast_expression "(undefined **)local_24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);" (assignment_expression "iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7)" identifier = (call_expression "PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7)" identifier (argument_list "(pBVar5,(PKCS7 *)p7)" ( identifier , (cast_expression "(PKCS7 *)p7" ( (type_descriptor "PKCS7 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pppppcVar11 = extraout_EDX_00;" (assignment_expression "pppppcVar11 = extraout_EDX_00" identifier = identifier) ;) })))) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }" { (expression_statement "param_2 = "unable to write pkcs7 object\n";" (assignment_expression "param_2 = "unable to write pkcs7 object\n"" identifier = (string_literal ""unable to write pkcs7 object\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar14 = &DAT_000c458c;" (assignment_expression "puVar14 = &DAT_000c458c" identifier = (pointer_expression "&DAT_000c458c" & identifier)) ;) (expression_statement "BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);" (call_expression "BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11)" identifier (argument_list "(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11)" ( identifier , (string_literal ""unable to write pkcs7 object\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "ERR_print_errors((BIO *)*puVar14);" (call_expression "ERR_print_errors((BIO *)*puVar14)" identifier (argument_list "((BIO *)*puVar14)" ( (cast_expression "(BIO *)*puVar14" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier)) ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "filename = (undefined **)pppppcVar11;" (assignment_expression "filename = (undefined **)pppppcVar11" identifier = (cast_expression "(undefined **)pppppcVar11" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) }))) (goto_statement "goto LAB_00037731;" goto statement_identifier ;) (labeled_statement "LAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";" statement_identifier : (expression_statement "param_2 = "%s: Use -help for summary.\n";" (assignment_expression "param_2 = "%s: Use -help for summary.\n"" identifier = (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ")) ;)) (expression_statement "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);" (call_expression "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2)" identifier (argument_list "(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2)" ( identifier , (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "filename = (undefined **)pppppcVar2;" (assignment_expression "filename = (undefined **)pppppcVar2" identifier = (cast_expression "(undefined **)pppppcVar2" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (labeled_statement "code_r0x0003771b:\n  iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" identifier = (cast_expression "(X509_CRL *)0x0" ( (type_descriptor "X509_CRL *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);" statement_identifier : (expression_statement "OPENSSL_sk_free(iVar13,param_2,filename);" (call_expression "OPENSSL_sk_free(iVar13,param_2,filename)" identifier (argument_list "(iVar13,param_2,filename)" ( identifier , identifier , identifier ))) ;)) (expression_statement "BIO_free(bp);" (call_expression "BIO_free(bp)" identifier (argument_list "(bp)" ( identifier ))) ;) (expression_statement "BIO_free_all(pBVar5);" (call_expression "BIO_free_all(pBVar5)" identifier (argument_list "(pBVar5)" ( identifier ))) ;) (expression_statement "PKCS7_free((PKCS7 *)p7);" (call_expression "PKCS7_free((PKCS7 *)p7)" identifier (argument_list "((PKCS7 *)p7)" ( (cast_expression "(PKCS7 *)p7" ( (type_descriptor "PKCS7 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "X509_CRL_free(a_00);" (call_expression "X509_CRL_free(a_00)" identifier (argument_list "(a_00)" ( identifier ))) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "FUN_0007d010();" (call_expression "FUN_0007d010()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) )))) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))) )) -> field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier)) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (goto_statement goto statement_identifier ;) })) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT -> field_identifier) ))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) })) }))) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "int FUN_00037650(undefined4 param_1,char *param_2)\n\n{\n  bool bVar1;\n  char *****pppppcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  int iVar7;\n  stack_st_X509_CRL *psVar8;\n  int iVar9;\n  undefined **filename;\n  X509_CRL *pXVar10;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  char *****pppppcVar11;\n  char *****extraout_EDX_00;\n  char *****extraout_EDX_01;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  undefined8 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  BIO *bp;\n  undefined4 uVar16;\n  char *****pppppcVar17;\n  pkcs7_st *ppVar18;\n  char ****local_28;\n  char ****local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar1 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (char ****)0x8005;\n  local_24 = (char ****)0x8005;\n  filename = &PTR_DAT_000b6920;\n  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);\n  pppppcVar11 = &local_24;\n  uVar16 = 0;\n  pppppcVar17 = &local_28;\n  uVar15 = 0;\n  iVar13 = 0;\nLAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);\n  if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }\n  switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }\n  param_2 = (char *)0x2;\n  iVar3 = FUN_00077fb0(uVar4,2,filename);\n  if (iVar3 == 0) goto LAB_00037700;\n  goto LAB_000376c0;\nLAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);\n  if (iVar9 <= iVar7) goto LAB_00037ade;\n  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);\n  pBVar5 = BIO_new_file((char *)filename,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }\n  pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar10);\n  iVar7 = iVar7 + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  param_2 = (char *)0x77;\n  filename = (undefined **)local_24;\n  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);\n  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);\n  pBVar5 = (BIO *)uVar12;\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }\n  goto LAB_00037731;\nLAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";\n  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);\n  filename = (undefined **)pppppcVar2;\ncode_r0x0003771b:\n  iVar3 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  bp = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);\n  BIO_free(bp);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    \n  FUN_0007d010();\n}" (primitive_type "int") (function_declarator "FUN_00037650(undefined4 param_1,char *param_2)" (identifier "FUN_00037650") (parameter_list "(undefined4 param_1,char *param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  bool bVar1;\n  char *****pppppcVar2;\n  int iVar3;\n  undefined4 uVar4;\n  X509_CRL *p7;\n  BIO *pBVar5;\n  ASN1_OBJECT *pAVar6;\n  int iVar7;\n  stack_st_X509_CRL *psVar8;\n  int iVar9;\n  undefined **filename;\n  X509_CRL *pXVar10;\n  X509_INFO *a;\n  X509_CRL *extraout_EDX;\n  char *****pppppcVar11;\n  char *****extraout_EDX_00;\n  char *****extraout_EDX_01;\n  X509_CRL *a_00;\n  int in_GS_OFFSET;\n  undefined8 uVar12;\n  int iVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  BIO *bp;\n  undefined4 uVar16;\n  char *****pppppcVar17;\n  pkcs7_st *ppVar18;\n  char ****local_28;\n  char ****local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar1 = false;\n  uStack_14 = 0x3765b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (char ****)0x8005;\n  local_24 = (char ****)0x8005;\n  filename = &PTR_DAT_000b6920;\n  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);\n  pppppcVar11 = &local_24;\n  uVar16 = 0;\n  pppppcVar17 = &local_28;\n  uVar15 = 0;\n  iVar13 = 0;\nLAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);\n  if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }\n  switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }\n  param_2 = (char *)0x2;\n  iVar3 = FUN_00077fb0(uVar4,2,filename);\n  if (iVar3 == 0) goto LAB_00037700;\n  goto LAB_000376c0;\nLAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);\n  if (iVar9 <= iVar7) goto LAB_00037ade;\n  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);\n  pBVar5 = BIO_new_file((char *)filename,"r");\n  if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }\n  pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);\n  if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }\n  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }\n  BIO_free(pBVar5);\n  OPENSSL_sk_free(pXVar10);\n  iVar7 = iVar7 + 1;\n  goto LAB_00037930;\nLAB_00037ade:\n  param_2 = (char *)0x77;\n  filename = (undefined **)local_24;\n  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);\n  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);\n  pBVar5 = (BIO *)uVar12;\n  if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }\n  goto LAB_00037731;\nLAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";\n  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);\n  filename = (undefined **)pppppcVar2;\ncode_r0x0003771b:\n  iVar3 = 1;\n  a_00 = (X509_CRL *)0x0;\n  p7 = (X509_CRL *)0x0;\n  pBVar5 = (BIO *)0x0;\n  bp = (BIO *)0x0;\nLAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);\n  BIO_free(bp);\n  BIO_free_all(pBVar5);\n  PKCS7_free((PKCS7 *)p7);\n  X509_CRL_free(a_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    \n  FUN_0007d010();\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "char *****pppppcVar2;" (primitive_type "char") (pointer_declarator "*****pppppcVar2" (* "*") (pointer_declarator "****pppppcVar2" (* "*") (pointer_declarator "***pppppcVar2" (* "*") (pointer_declarator "**pppppcVar2" (* "*") (pointer_declarator "*pppppcVar2" (* "*") (identifier "pppppcVar2")))))) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "X509_CRL *p7;" (type_identifier "X509_CRL") (pointer_declarator "*p7" (* "*") (identifier "p7")) (; ";")) (declaration "BIO *pBVar5;" (type_identifier "BIO") (pointer_declarator "*pBVar5" (* "*") (identifier "pBVar5")) (; ";")) (declaration "ASN1_OBJECT *pAVar6;" (type_identifier "ASN1_OBJECT") (pointer_declarator "*pAVar6" (* "*") (identifier "pAVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "stack_st_X509_CRL *psVar8;" (type_identifier "stack_st_X509_CRL") (pointer_declarator "*psVar8" (* "*") (identifier "psVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined **filename;" (type_identifier "undefined") (pointer_declarator "**filename" (* "*") (pointer_declarator "*filename" (* "*") (identifier "filename"))) (; ";")) (declaration "X509_CRL *pXVar10;" (type_identifier "X509_CRL") (pointer_declarator "*pXVar10" (* "*") (identifier "pXVar10")) (; ";")) (declaration "X509_INFO *a;" (type_identifier "X509_INFO") (pointer_declarator "*a" (* "*") (identifier "a")) (; ";")) (declaration "X509_CRL *extraout_EDX;" (type_identifier "X509_CRL") (pointer_declarator "*extraout_EDX" (* "*") (identifier "extraout_EDX")) (; ";")) (declaration "char *****pppppcVar11;" (primitive_type "char") (pointer_declarator "*****pppppcVar11" (* "*") (pointer_declarator "****pppppcVar11" (* "*") (pointer_declarator "***pppppcVar11" (* "*") (pointer_declarator "**pppppcVar11" (* "*") (pointer_declarator "*pppppcVar11" (* "*") (identifier "pppppcVar11")))))) (; ";")) (declaration "char *****extraout_EDX_00;" (primitive_type "char") (pointer_declarator "*****extraout_EDX_00" (* "*") (pointer_declarator "****extraout_EDX_00" (* "*") (pointer_declarator "***extraout_EDX_00" (* "*") (pointer_declarator "**extraout_EDX_00" (* "*") (pointer_declarator "*extraout_EDX_00" (* "*") (identifier "extraout_EDX_00")))))) (; ";")) (declaration "char *****extraout_EDX_01;" (primitive_type "char") (pointer_declarator "*****extraout_EDX_01" (* "*") (pointer_declarator "****extraout_EDX_01" (* "*") (pointer_declarator "***extraout_EDX_01" (* "*") (pointer_declarator "**extraout_EDX_01" (* "*") (pointer_declarator "*extraout_EDX_01" (* "*") (identifier "extraout_EDX_01")))))) (; ";")) (declaration "X509_CRL *a_00;" (type_identifier "X509_CRL") (pointer_declarator "*a_00" (* "*") (identifier "a_00")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "BIO *bp;" (type_identifier "BIO") (pointer_declarator "*bp" (* "*") (identifier "bp")) (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "char *****pppppcVar17;" (primitive_type "char") (pointer_declarator "*****pppppcVar17" (* "*") (pointer_declarator "****pppppcVar17" (* "*") (pointer_declarator "***pppppcVar17" (* "*") (pointer_declarator "**pppppcVar17" (* "*") (pointer_declarator "*pppppcVar17" (* "*") (identifier "pppppcVar17")))))) (; ";")) (declaration "pkcs7_st *ppVar18;" (type_identifier "pkcs7_st") (pointer_declarator "*ppVar18" (* "*") (identifier "ppVar18")) (; ";")) (declaration "char ****local_28;" (primitive_type "char") (pointer_declarator "****local_28" (* "*") (pointer_declarator "***local_28" (* "*") (pointer_declarator "**local_28" (* "*") (pointer_declarator "*local_28" (* "*") (identifier "local_28"))))) (; ";")) (declaration "char ****local_24;" (primitive_type "char") (pointer_declarator "****local_24" (* "*") (pointer_declarator "***local_24" (* "*") (pointer_declarator "**local_24" (* "*") (pointer_declarator "*local_24" (* "*") (identifier "local_24"))))) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "uStack_14 = 0x3765b;" (assignment_expression "uStack_14 = 0x3765b" (identifier "uStack_14") (= "=") (number_literal "0x3765b")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_28 = (char ****)0x8005;" (assignment_expression "local_28 = (char ****)0x8005" (identifier "local_28") (= "=") (cast_expression "(char ****)0x8005" (( "(") (type_descriptor "char ****" (primitive_type "char") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x8005"))) (; ";")) (expression_statement "local_24 = (char ****)0x8005;" (assignment_expression "local_24 = (char ****)0x8005" (identifier "local_24") (= "=") (cast_expression "(char ****)0x8005" (( "(") (type_descriptor "char ****" (primitive_type "char") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x8005"))) (; ";")) (expression_statement "filename = &PTR_DAT_000b6920;" (assignment_expression "filename = &PTR_DAT_000b6920" (identifier "filename") (= "=") (pointer_expression "&PTR_DAT_000b6920" (& "&") (identifier "PTR_DAT_000b6920"))) (; ";")) (expression_statement "pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);" (assignment_expression "pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920)" (identifier "pppppcVar2") (= "=") (cast_expression "(char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920)" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920)" (identifier "FUN_00077e50") (argument_list "(param_1,param_2,&PTR_DAT_000b6920)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "&PTR_DAT_000b6920" (& "&") (identifier "PTR_DAT_000b6920")) () ")"))))) (; ";")) (expression_statement "pppppcVar11 = &local_24;" (assignment_expression "pppppcVar11 = &local_24" (identifier "pppppcVar11") (= "=") (pointer_expression "&local_24" (& "&") (identifier "local_24"))) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppcVar17 = &local_28;" (assignment_expression "pppppcVar17 = &local_28" (identifier "pppppcVar17") (= "=") (pointer_expression "&local_28" (& "&") (identifier "local_28"))) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000376c0:\n  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);" (statement_identifier "LAB_000376c0") (: ":") (expression_statement "iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);" (assignment_expression "iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17)" (identifier "iVar3") (= "=") (call_expression "FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17)" (identifier "FUN_00078780") (argument_list "(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17)" (( "(") (identifier "iVar13") (, ",") (identifier "pppppcVar11") (, ",") (identifier "uVar15") (, ",") (identifier "uVar16") (, ",") (identifier "pppppcVar17") () ")")))) (; ";"))) (if_statement "if (iVar3 == 0) {\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = FUN_00079110();\n    if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    goto LAB_00037700;\n  }" ({ "{") (expression_statement "iVar3 = FUN_00079110();" (assignment_expression "iVar3 = FUN_00079110()" (identifier "iVar3") (= "=") (call_expression "FUN_00079110()" (identifier "FUN_00079110") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }\n      bp = (BIO *)0x0;\n      a_00 = (X509_CRL *)0x0;\nLAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();\n      if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }\n      pBVar5 = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" ({ "{") (if_statement "if (!bVar1) {\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }" (if "if") (parenthesized_expression "(!bVar1)" (( "(") (unary_expression "!bVar1" (! "!") (identifier "bVar1")) () ")")) (compound_statement "{\n        param_2 = (char *)0x72;\n        filename = (undefined **)local_28;\n        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);\n        if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }\n        goto LAB_00037731;\n      }" ({ "{") (expression_statement "param_2 = (char *)0x72;" (assignment_expression "param_2 = (char *)0x72" (identifier "param_2") (= "=") (cast_expression "(char *)0x72" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x72"))) (; ";")) (expression_statement "filename = (undefined **)local_28;" (assignment_expression "filename = (undefined **)local_28" (identifier "filename") (= "=") (cast_expression "(undefined **)local_28" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_28"))) (; ";")) (expression_statement "bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);" (assignment_expression "bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28)" (identifier "bp") (= "=") (cast_expression "(BIO *)FUN_00075fa0(uVar15,0x72,local_28)" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00075fa0(uVar15,0x72,local_28)" (identifier "FUN_00075fa0") (argument_list "(uVar15,0x72,local_28)" (( "(") (identifier "uVar15") (, ",") (number_literal "0x72") (, ",") (identifier "local_28") () ")"))))) (; ";")) (if_statement "if (bp == (BIO *)0x0) {\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }\n        else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }" (if "if") (parenthesized_expression "(bp == (BIO *)0x0)" (( "(") (binary_expression "bp == (BIO *)0x0" (identifier "bp") (== "==") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          a_00 = (X509_CRL *)0x0;\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          iVar3 = 1;\n        }" ({ "{") (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" (identifier "p7") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }" (else "else") (compound_statement "{\n          if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }\n          p7 = (X509_CRL *)0x0;\n          pBVar5 = (BIO *)0x0;\n          param_2 = "unable to load CRL\n";\n          BIO_printf(DAT_000c458c,"unable to load CRL\n");\n          a_00 = (X509_CRL *)0x0;\n          ERR_print_errors(DAT_000c458c);\n          iVar3 = 1;\n        }" ({ "{") (if_statement "if ((char *****)local_28 == (char *****)0x4) {\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }\n          else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" (if "if") (parenthesized_expression "((char *****)local_28 == (char *****)0x4)" (( "(") (binary_expression "(char *****)local_28 == (char *****)0x4" (cast_expression "(char *****)local_28" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_28")) (== "==") (cast_expression "(char *****)0x4" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x4"))) () ")")) (compound_statement "{\n            param_2 = (char *)0x0;\n            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);\nLAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;\n          }" ({ "{") (expression_statement "param_2 = (char *)0x0;" (assignment_expression "param_2 = (char *)0x0" (identifier "param_2") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);" (assignment_expression "a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0)" (identifier "a_00") (= "=") (call_expression "d2i_X509_CRL_bio(bp,(X509_CRL **)0x0)" (identifier "d2i_X509_CRL_bio") (argument_list "(bp,(X509_CRL **)0x0)" (( "(") (identifier "bp") (, ",") (cast_expression "(X509_CRL **)0x0" (( "(") (type_descriptor "X509_CRL **" (type_identifier "X509_CRL") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) () ")")))) (; ";")) (labeled_statement "LAB_00037aa8:\n            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;" (statement_identifier "LAB_00037aa8") (: ":") (if_statement "if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;" (if "if") (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" (( "(") (binary_expression "a_00 != (X509_CRL *)0x0" (identifier "a_00") (!= "!=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00037873;" (goto "goto") (statement_identifier "LAB_00037873") (; ";")))) (} "}")) (else_clause "else if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" (else "else") (if_statement "if ((char *****)local_28 == (char *****)0x8005) {\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" (if "if") (parenthesized_expression "((char *****)local_28 == (char *****)0x8005)" (( "(") (binary_expression "(char *****)local_28 == (char *****)0x8005" (cast_expression "(char *****)local_28" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_28")) (== "==") (cast_expression "(char *****)0x8005" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x8005"))) () ")")) (compound_statement "{\n            filename = (undefined **)0x0;\n            param_2 = (char *)0x0;\n            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);\n            goto LAB_00037aa8;\n          }" ({ "{") (expression_statement "filename = (undefined **)0x0;" (assignment_expression "filename = (undefined **)0x0" (identifier "filename") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_2 = (char *)0x0;" (assignment_expression "param_2 = (char *)0x0" (identifier "param_2") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" (identifier "a_00") (= "=") (call_expression "PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" (identifier "PEM_read_bio_X509_CRL") (argument_list "(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0)" (( "(") (identifier "bp") (, ",") (cast_expression "(X509_CRL **)0x0" (( "(") (type_descriptor "X509_CRL **" (type_identifier "X509_CRL") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (, ",") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")")))) (; ";")) (goto_statement "goto LAB_00037aa8;" (goto "goto") (statement_identifier "LAB_00037aa8") (; ";")) (} "}"))))) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" (identifier "p7") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_2 = "unable to load CRL\n";" (assignment_expression "param_2 = "unable to load CRL\n"" (identifier "param_2") (= "=") (string_literal ""unable to load CRL\n"" (" """) (string_content "unable to load CRL") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"unable to load CRL\n");" (call_expression "BIO_printf(DAT_000c458c,"unable to load CRL\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"unable to load CRL\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""unable to load CRL\n"" (" """) (string_content "unable to load CRL") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" (identifier "ERR_print_errors") (argument_list "(DAT_000c458c)" (( "(") (identifier "DAT_000c458c") () ")"))) (; ";")) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (} "}")))) (goto_statement "goto LAB_00037731;" (goto "goto") (statement_identifier "LAB_00037731") (; ";")) (} "}"))) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" (identifier "bp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00037873:\n      p7 = (X509_CRL *)PKCS7_new();" (statement_identifier "LAB_00037873") (: ":") (expression_statement "p7 = (X509_CRL *)PKCS7_new();" (assignment_expression "p7 = (X509_CRL *)PKCS7_new()" (identifier "p7") (= "=") (cast_expression "(X509_CRL *)PKCS7_new()" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "PKCS7_new()" (identifier "PKCS7_new") (argument_list "()" (( "(") () ")"))))) (; ";"))) (if_statement "if (p7 != (X509_CRL *)0x0) {\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(p7 != (X509_CRL *)0x0)" (( "(") (binary_expression "p7 != (X509_CRL *)0x0" (identifier "p7") (!= "!=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pBVar5 = (BIO *)PKCS7_SIGNED_new();\n        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;\n        pAVar6 = OBJ_nid2obj(0x16);\n        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;\n        ppVar18 = (pkcs7_st *)pBVar5->flags;\n        p7->flags = (int)pAVar6;\n        pAVar6 = OBJ_nid2obj(0x15);\n        ppVar18->type = pAVar6;\n        param_2 = (char *)0x1;\n        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);\n        if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }\n        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();\n        if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }\n      }" ({ "{") (expression_statement "pBVar5 = (BIO *)PKCS7_SIGNED_new();" (assignment_expression "pBVar5 = (BIO *)PKCS7_SIGNED_new()" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)PKCS7_SIGNED_new()" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "PKCS7_SIGNED_new()" (identifier "PKCS7_SIGNED_new") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;" (if "if") (parenthesized_expression "(pBVar5 == (BIO *)0x0)" (( "(") (binary_expression "pBVar5 == (BIO *)0x0" (identifier "pBVar5") (== "==") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00037a87;" (goto "goto") (statement_identifier "LAB_00037a87") (; ";"))) (expression_statement "pAVar6 = OBJ_nid2obj(0x16);" (assignment_expression "pAVar6 = OBJ_nid2obj(0x16)" (identifier "pAVar6") (= "=") (call_expression "OBJ_nid2obj(0x16)" (identifier "OBJ_nid2obj") (argument_list "(0x16)" (( "(") (number_literal "0x16") () ")")))) (; ";")) (expression_statement "((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;" (assignment_expression "((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5" (field_expression "((_union_450 *)&p7->akid)->sign" (parenthesized_expression "((_union_450 *)&p7->akid)" (( "(") (cast_expression "(_union_450 *)&p7->akid" (( "(") (type_descriptor "_union_450 *" (type_identifier "_union_450") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&p7->akid" (& "&") (field_expression "p7->akid" (identifier "p7") (-> "->") (field_identifier "akid")))) () ")")) (-> "->") (field_identifier "sign")) (= "=") (cast_expression "(PKCS7_SIGNED *)pBVar5" (( "(") (type_descriptor "PKCS7_SIGNED *" (type_identifier "PKCS7_SIGNED") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pBVar5"))) (; ";")) (expression_statement "ppVar18 = (pkcs7_st *)pBVar5->flags;" (assignment_expression "ppVar18 = (pkcs7_st *)pBVar5->flags" (identifier "ppVar18") (= "=") (cast_expression "(pkcs7_st *)pBVar5->flags" (( "(") (type_descriptor "pkcs7_st *" (type_identifier "pkcs7_st") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pBVar5->flags" (identifier "pBVar5") (-> "->") (field_identifier "flags")))) (; ";")) (expression_statement "p7->flags = (int)pAVar6;" (assignment_expression "p7->flags = (int)pAVar6" (field_expression "p7->flags" (identifier "p7") (-> "->") (field_identifier "flags")) (= "=") (cast_expression "(int)pAVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pAVar6"))) (; ";")) (expression_statement "pAVar6 = OBJ_nid2obj(0x15);" (assignment_expression "pAVar6 = OBJ_nid2obj(0x15)" (identifier "pAVar6") (= "=") (call_expression "OBJ_nid2obj(0x15)" (identifier "OBJ_nid2obj") (argument_list "(0x15)" (( "(") (number_literal "0x15") () ")")))) (; ";")) (expression_statement "ppVar18->type = pAVar6;" (assignment_expression "ppVar18->type = pAVar6" (field_expression "ppVar18->type" (identifier "ppVar18") (-> "->") (field_identifier "type")) (= "=") (identifier "pAVar6")) (; ";")) (expression_statement "param_2 = (char *)0x1;" (assignment_expression "param_2 = (char *)0x1" (identifier "param_2") (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);" (assignment_expression "iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1)" (identifier "iVar7") (= "=") (call_expression "ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1)" (identifier "ASN1_INTEGER_set") (argument_list "((ASN1_INTEGER *)pBVar5->method,1)" (( "(") (cast_expression "(ASN1_INTEGER *)pBVar5->method" (( "(") (type_descriptor "ASN1_INTEGER *" (type_identifier "ASN1_INTEGER") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pBVar5->method" (identifier "pBVar5") (-> "->") (field_identifier "method"))) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar3 = 1;\n          pBVar5 = (BIO *)0x0;\n          goto LAB_00037731;\n        }" ({ "{") (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00037731;" (goto "goto") (statement_identifier "LAB_00037731") (; ";")) (} "}"))) (expression_statement "psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();" (assignment_expression "psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null()" (identifier "psVar8") (= "=") (cast_expression "(stack_st_X509_CRL *)OPENSSL_sk_new_null()" (( "(") (type_descriptor "stack_st_X509_CRL *" (type_identifier "stack_st_X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "OPENSSL_sk_new_null()" (identifier "OPENSSL_sk_new_null") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (psVar8 != (stack_st_X509_CRL *)0x0) {\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }" (if "if") (parenthesized_expression "(psVar8 != (stack_st_X509_CRL *)0x0)" (( "(") (binary_expression "psVar8 != (stack_st_X509_CRL *)0x0" (identifier "psVar8") (!= "!=") (cast_expression "(stack_st_X509_CRL *)0x0" (( "(") (type_descriptor "stack_st_X509_CRL *" (type_identifier "stack_st_X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pBVar5->init = (int)psVar8;\n          if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }\n          a_00 = (X509_CRL *)OPENSSL_sk_new_null();\n          if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }\n        }" ({ "{") (expression_statement "pBVar5->init = (int)psVar8;" (assignment_expression "pBVar5->init = (int)psVar8" (field_expression "pBVar5->init" (identifier "pBVar5") (-> "->") (field_identifier "init")) (= "=") (cast_expression "(int)psVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar8"))) (; ";")) (if_statement "if (a_00 != (X509_CRL *)0x0) {\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }" (if "if") (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" (( "(") (binary_expression "a_00 != (X509_CRL *)0x0" (identifier "a_00") (!= "!=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            OPENSSL_sk_push(psVar8,a_00);\n            param_2 = (char *)a_00;\n          }" ({ "{") (expression_statement "OPENSSL_sk_push(psVar8,a_00);" (call_expression "OPENSSL_sk_push(psVar8,a_00)" (identifier "OPENSSL_sk_push") (argument_list "(psVar8,a_00)" (( "(") (identifier "psVar8") (, ",") (identifier "a_00") () ")"))) (; ";")) (expression_statement "param_2 = (char *)a_00;" (assignment_expression "param_2 = (char *)a_00" (identifier "param_2") (= "=") (cast_expression "(char *)a_00" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "a_00"))) (; ";")) (} "}"))) (expression_statement "a_00 = (X509_CRL *)OPENSSL_sk_new_null();" (assignment_expression "a_00 = (X509_CRL *)OPENSSL_sk_new_null()" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)OPENSSL_sk_new_null()" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "OPENSSL_sk_new_null()" (identifier "OPENSSL_sk_new_null") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (a_00 != (X509_CRL *)0x0) {\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }" (if "if") (parenthesized_expression "(a_00 != (X509_CRL *)0x0)" (( "(") (binary_expression "a_00 != (X509_CRL *)0x0" (identifier "a_00") (!= "!=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pBVar5->cb_arg = (char *)a_00;\n            iVar7 = 0;\n            pXVar10 = a_00;\n            if (iVar13 != 0) goto LAB_00037930;\n            iVar7 = 0;\n            goto LAB_00037ade;\n          }" ({ "{") (expression_statement "pBVar5->cb_arg = (char *)a_00;" (assignment_expression "pBVar5->cb_arg = (char *)a_00" (field_expression "pBVar5->cb_arg" (identifier "pBVar5") (-> "->") (field_identifier "cb_arg")) (= "=") (cast_expression "(char *)a_00" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "a_00"))) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "pXVar10 = a_00;" (assignment_expression "pXVar10 = a_00" (identifier "pXVar10") (= "=") (identifier "a_00")) (; ";")) (if_statement "if (iVar13 != 0) goto LAB_00037930;" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00037930;" (goto "goto") (statement_identifier "LAB_00037930") (; ";"))) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00037ade;" (goto "goto") (statement_identifier "LAB_00037ade") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00037731;" (goto "goto") (statement_identifier "LAB_00037731") (; ";")) (} "}"))) (goto_statement "goto LAB_00037700;" (goto "goto") (statement_identifier "LAB_00037700") (; ";")) (} "}"))) (switch_statement "switch(iVar3) {\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }" (switch "switch") (parenthesized_expression "(iVar3)" (( "(") (identifier "iVar3") () ")")) (compound_statement "{\n  default:\n    goto LAB_000376c0;\n  case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;\n  case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;\n  case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;\n  case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;\n  case 6:\n    bVar1 = true;\n    goto LAB_000376c0;\n  case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;\n  case -1:\n    goto LAB_00037700;\n  }" ({ "{") (case_statement "default:\n    goto LAB_000376c0;" (default "default") (: ":") (goto_statement "goto LAB_000376c0;" (goto "goto") (statement_identifier "LAB_000376c0") (; ";"))) (case_statement "case 1:\n    p7 = (X509_CRL *)0x0;\n    pBVar5 = (BIO *)0x0;\n    a_00 = (X509_CRL *)0x0;\n    FUN_00079140(&PTR_DAT_000b6920);\n    iVar3 = 0;\n    bp = (BIO *)0x0;\n    goto LAB_00037731;" (case "case") (number_literal "1") (: ":") (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" (identifier "p7") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00079140(&PTR_DAT_000b6920);" (call_expression "FUN_00079140(&PTR_DAT_000b6920)" (identifier "FUN_00079140") (argument_list "(&PTR_DAT_000b6920)" (( "(") (pointer_expression "&PTR_DAT_000b6920" (& "&") (identifier "PTR_DAT_000b6920")) () ")"))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" (identifier "bp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00037731;" (goto "goto") (statement_identifier "LAB_00037731") (; ";"))) (case_statement "case 2:\n    filename = (undefined **)pppppcVar17;\n    uVar4 = FUN_00078b30();\n    pppppcVar17 = (char *****)filename;\n    break;" (case "case") (number_literal "2") (: ":") (expression_statement "filename = (undefined **)pppppcVar17;" (assignment_expression "filename = (undefined **)pppppcVar17" (identifier "filename") (= "=") (cast_expression "(undefined **)pppppcVar17" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppppcVar17"))) (; ";")) (expression_statement "uVar4 = FUN_00078b30();" (assignment_expression "uVar4 = FUN_00078b30()" (identifier "uVar4") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppppcVar17 = (char *****)filename;" (assignment_expression "pppppcVar17 = (char *****)filename" (identifier "pppppcVar17") (= "=") (cast_expression "(char *****)filename" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "filename"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n    filename = (undefined **)pppppcVar11;\n    uVar4 = FUN_00078b30();\n    pppppcVar11 = (char *****)filename;\n    break;" (case "case") (number_literal "3") (: ":") (expression_statement "filename = (undefined **)pppppcVar11;" (assignment_expression "filename = (undefined **)pppppcVar11" (identifier "filename") (= "=") (cast_expression "(undefined **)pppppcVar11" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppppcVar11"))) (; ";")) (expression_statement "uVar4 = FUN_00078b30();" (assignment_expression "uVar4 = FUN_00078b30()" (identifier "uVar4") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppppcVar11 = (char *****)filename;" (assignment_expression "pppppcVar11 = (char *****)filename" (identifier "pppppcVar11") (= "=") (cast_expression "(char *****)filename" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "filename"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n    uVar15 = FUN_00078b30();\n    goto LAB_000376c0;" (case "case") (number_literal "4") (: ":") (expression_statement "uVar15 = FUN_00078b30();" (assignment_expression "uVar15 = FUN_00078b30()" (identifier "uVar15") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (goto_statement "goto LAB_000376c0;" (goto "goto") (statement_identifier "LAB_000376c0") (; ";"))) (case_statement "case 5:\n    uVar16 = FUN_00078b30();\n    goto LAB_000376c0;" (case "case") (number_literal "5") (: ":") (expression_statement "uVar16 = FUN_00078b30();" (assignment_expression "uVar16 = FUN_00078b30()" (identifier "uVar16") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (goto_statement "goto LAB_000376c0;" (goto "goto") (statement_identifier "LAB_000376c0") (; ";"))) (case_statement "case 6:\n    bVar1 = true;\n    goto LAB_000376c0;" (case "case") (number_literal "6") (: ":") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_000376c0;" (goto "goto") (statement_identifier "LAB_000376c0") (; ";"))) (case_statement "case 7:\n    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }\n    param_2 = (char *)FUN_00078b30();\n    iVar3 = OPENSSL_sk_push(iVar13,param_2);\n    if (iVar3 == 0) goto code_r0x0003771b;\n    goto LAB_000376c0;" (case "case") (number_literal "7") (: ":") (if_statement "if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" (if "if") (parenthesized_expression "((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0))" (( "(") (binary_expression "(iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)" (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)" (( "(") (comma_expression "iVar13 = OPENSSL_sk_new_null(), iVar13 == 0" (assignment_expression "iVar13 = OPENSSL_sk_new_null()" (identifier "iVar13") (= "=") (call_expression "OPENSSL_sk_new_null()" (identifier "OPENSSL_sk_new_null") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      a_00 = (X509_CRL *)0x0;\n      p7 = (X509_CRL *)0x0;\n      pBVar5 = (BIO *)0x0;\n      bp = (BIO *)0x0;\n      iVar3 = 1;\n      goto LAB_00037731;\n    }" ({ "{") (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" (identifier "p7") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" (identifier "bp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00037731;" (goto "goto") (statement_identifier "LAB_00037731") (; ";")) (} "}"))) (expression_statement "param_2 = (char *)FUN_00078b30();" (assignment_expression "param_2 = (char *)FUN_00078b30()" (identifier "param_2") (= "=") (cast_expression "(char *)FUN_00078b30()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar3 = OPENSSL_sk_push(iVar13,param_2);" (assignment_expression "iVar3 = OPENSSL_sk_push(iVar13,param_2)" (identifier "iVar3") (= "=") (call_expression "OPENSSL_sk_push(iVar13,param_2)" (identifier "OPENSSL_sk_push") (argument_list "(iVar13,param_2)" (( "(") (identifier "iVar13") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto code_r0x0003771b;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0003771b;" (goto "goto") (statement_identifier "code_r0x0003771b") (; ";"))) (goto_statement "goto LAB_000376c0;" (goto "goto") (statement_identifier "LAB_000376c0") (; ";"))) (case_statement "case -1:\n    goto LAB_00037700;" (case "case") (number_literal "-1") (: ":") (goto_statement "goto LAB_00037700;" (goto "goto") (statement_identifier "LAB_00037700") (; ";"))) (} "}"))) (expression_statement "param_2 = (char *)0x2;" (assignment_expression "param_2 = (char *)0x2" (identifier "param_2") (= "=") (cast_expression "(char *)0x2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "iVar3 = FUN_00077fb0(uVar4,2,filename);" (assignment_expression "iVar3 = FUN_00077fb0(uVar4,2,filename)" (identifier "iVar3") (= "=") (call_expression "FUN_00077fb0(uVar4,2,filename)" (identifier "FUN_00077fb0") (argument_list "(uVar4,2,filename)" (( "(") (identifier "uVar4") (, ",") (number_literal "2") (, ",") (identifier "filename") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_00037700;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00037700;" (goto "goto") (statement_identifier "LAB_00037700") (; ";"))) (goto_statement "goto LAB_000376c0;" (goto "goto") (statement_identifier "LAB_000376c0") (; ";")) (labeled_statement "LAB_00037930:\n  iVar9 = OPENSSL_sk_num(iVar13);" (statement_identifier "LAB_00037930") (: ":") (expression_statement "iVar9 = OPENSSL_sk_num(iVar13);" (assignment_expression "iVar9 = OPENSSL_sk_num(iVar13)" (identifier "iVar9") (= "=") (call_expression "OPENSSL_sk_num(iVar13)" (identifier "OPENSSL_sk_num") (argument_list "(iVar13)" (( "(") (identifier "iVar13") () ")")))) (; ";"))) (if_statement "if (iVar9 <= iVar7) goto LAB_00037ade;" (if "if") (parenthesized_expression "(iVar9 <= iVar7)" (( "(") (binary_expression "iVar9 <= iVar7" (identifier "iVar9") (<= "<=") (identifier "iVar7")) () ")")) (goto_statement "goto LAB_00037ade;" (goto "goto") (statement_identifier "LAB_00037ade") (; ";"))) (expression_statement "filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);" (assignment_expression "filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7)" (identifier "filename") (= "=") (cast_expression "(undefined **)OPENSSL_sk_value(iVar13,iVar7)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "OPENSSL_sk_value(iVar13,iVar7)" (identifier "OPENSSL_sk_value") (argument_list "(iVar13,iVar7)" (( "(") (identifier "iVar13") (, ",") (identifier "iVar7") () ")"))))) (; ";")) (expression_statement "pBVar5 = BIO_new_file((char *)filename,"r");" (assignment_expression "pBVar5 = BIO_new_file((char *)filename,"r")" (identifier "pBVar5") (= "=") (call_expression "BIO_new_file((char *)filename,"r")" (identifier "BIO_new_file") (argument_list "((char *)filename,"r")" (( "(") (cast_expression "(char *)filename" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "filename")) (, ",") (string_literal ""r"" (" """) (string_content "r") (" """)) () ")")))) (; ";")) (if_statement "if (pBVar5 == (BIO *)0x0) {\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }" (if "if") (parenthesized_expression "(pBVar5 == (BIO *)0x0)" (( "(") (binary_expression "pBVar5 == (BIO *)0x0" (identifier "pBVar5") (== "==") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);\n    BIO_free((BIO *)0x0);\n    OPENSSL_sk_free(0);\nLAB_00037bb4:\n    param_2 = "error loading certificates\n";\n    pBVar5 = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);\n    a_00 = (X509_CRL *)0x0;\n    ERR_print_errors(DAT_000c458c);\n    iVar3 = 1;\n    goto LAB_00037731;\n  }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);" (call_expression "BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""error opening the file, %s\n"" (" """) (string_content "error opening the file, %s") (escape_sequence "\n") (" """)) (, ",") (identifier "filename") (, ",") (identifier "pXVar10") () ")"))) (; ";")) (expression_statement "BIO_free((BIO *)0x0);" (call_expression "BIO_free((BIO *)0x0)" (identifier "BIO_free") (argument_list "((BIO *)0x0)" (( "(") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")"))) (; ";")) (expression_statement "OPENSSL_sk_free(0);" (call_expression "OPENSSL_sk_free(0)" (identifier "OPENSSL_sk_free") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (labeled_statement "LAB_00037bb4:\n    param_2 = "error loading certificates\n";" (statement_identifier "LAB_00037bb4") (: ":") (expression_statement "param_2 = "error loading certificates\n";" (assignment_expression "param_2 = "error loading certificates\n"" (identifier "param_2") (= "=") (string_literal ""error loading certificates\n"" (" """) (string_content "error loading certificates") (escape_sequence "\n") (" """))) (; ";"))) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);" (call_expression "BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"error loading certificates\n",filename,pXVar10)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""error loading certificates\n"" (" """) (string_content "error loading certificates") (escape_sequence "\n") (" """)) (, ",") (identifier "filename") (, ",") (identifier "pXVar10") () ")"))) (; ";")) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" (identifier "ERR_print_errors") (argument_list "(DAT_000c458c)" (( "(") (identifier "DAT_000c458c") () ")"))) (; ";")) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00037731;" (goto "goto") (statement_identifier "LAB_00037731") (; ";")) (} "}"))) (expression_statement "pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "pXVar10 = (X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" (identifier "pXVar10") (= "=") (cast_expression "(X509_CRL *)\n            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" (identifier "PEM_X509_INFO_read_bio") (argument_list "(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0)" (( "(") (identifier "pBVar5") (, ",") (cast_expression "(stack_st_X509_INFO *)0x0" (( "(") (type_descriptor "stack_st_X509_INFO *" (type_identifier "stack_st_X509_INFO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (, ",") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (, ",") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")"))))) (; ";")) (if_statement "if (pXVar10 == (X509_CRL *)0x0) {\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }" (if "if") (parenthesized_expression "(pXVar10 == (X509_CRL *)0x0)" (( "(") (binary_expression "pXVar10 == (X509_CRL *)0x0" (identifier "pXVar10") (== "==") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pXVar10 = extraout_EDX;\n    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);\n    BIO_free(pBVar5);\n    OPENSSL_sk_free(0);\n    goto LAB_00037bb4;\n  }" ({ "{") (expression_statement "pXVar10 = extraout_EDX;" (assignment_expression "pXVar10 = extraout_EDX" (identifier "pXVar10") (= "=") (identifier "extraout_EDX")) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);" (call_expression "BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""error reading the file, %s\n"" (" """) (string_content "error reading the file, %s") (escape_sequence "\n") (" """)) (, ",") (identifier "filename") (, ",") (identifier "extraout_EDX") () ")"))) (; ";")) (expression_statement "BIO_free(pBVar5);" (call_expression "BIO_free(pBVar5)" (identifier "BIO_free") (argument_list "(pBVar5)" (( "(") (identifier "pBVar5") () ")"))) (; ";")) (expression_statement "OPENSSL_sk_free(0);" (call_expression "OPENSSL_sk_free(0)" (identifier "OPENSSL_sk_free") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00037bb4;" (goto "goto") (statement_identifier "LAB_00037bb4") (; ";")) (} "}"))) (while_statement "while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }" (while "while") (parenthesized_expression "(iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0)" (( "(") (comma_expression "iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0" (assignment_expression "iVar9 = OPENSSL_sk_num(pXVar10)" (identifier "iVar9") (= "=") (call_expression "OPENSSL_sk_num(pXVar10)" (identifier "OPENSSL_sk_num") (argument_list "(pXVar10)" (( "(") (identifier "pXVar10") () ")")))) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);\n    if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }\n    X509_INFO_free(a);\n  }" ({ "{") (expression_statement "a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);" (assignment_expression "a = (X509_INFO *)OPENSSL_sk_shift(pXVar10)" (identifier "a") (= "=") (cast_expression "(X509_INFO *)OPENSSL_sk_shift(pXVar10)" (( "(") (type_descriptor "X509_INFO *" (type_identifier "X509_INFO") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "OPENSSL_sk_shift(pXVar10)" (identifier "OPENSSL_sk_shift") (argument_list "(pXVar10)" (( "(") (identifier "pXVar10") () ")"))))) (; ";")) (if_statement "if (a->x509 != (X509 *)0x0) {\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }" (if "if") (parenthesized_expression "(a->x509 != (X509 *)0x0)" (( "(") (binary_expression "a->x509 != (X509 *)0x0" (field_expression "a->x509" (identifier "a") (-> "->") (field_identifier "x509")) (!= "!=") (cast_expression "(X509 *)0x0" (( "(") (type_descriptor "X509 *" (type_identifier "X509") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      OPENSSL_sk_push(a_00,a->x509);\n      a->x509 = (X509 *)0x0;\n    }" ({ "{") (expression_statement "OPENSSL_sk_push(a_00,a->x509);" (call_expression "OPENSSL_sk_push(a_00,a->x509)" (identifier "OPENSSL_sk_push") (argument_list "(a_00,a->x509)" (( "(") (identifier "a_00") (, ",") (field_expression "a->x509" (identifier "a") (-> "->") (field_identifier "x509")) () ")"))) (; ";")) (expression_statement "a->x509 = (X509 *)0x0;" (assignment_expression "a->x509 = (X509 *)0x0" (field_expression "a->x509" (identifier "a") (-> "->") (field_identifier "x509")) (= "=") (cast_expression "(X509 *)0x0" (( "(") (type_descriptor "X509 *" (type_identifier "X509") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "X509_INFO_free(a);" (call_expression "X509_INFO_free(a)" (identifier "X509_INFO_free") (argument_list "(a)" (( "(") (identifier "a") () ")"))) (; ";")) (} "}"))) (expression_statement "BIO_free(pBVar5);" (call_expression "BIO_free(pBVar5)" (identifier "BIO_free") (argument_list "(pBVar5)" (( "(") (identifier "pBVar5") () ")"))) (; ";")) (expression_statement "OPENSSL_sk_free(pXVar10);" (call_expression "OPENSSL_sk_free(pXVar10)" (identifier "OPENSSL_sk_free") (argument_list "(pXVar10)" (( "(") (identifier "pXVar10") () ")"))) (; ";")) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00037930;" (goto "goto") (statement_identifier "LAB_00037930") (; ";")) (labeled_statement "LAB_00037ade:\n  param_2 = (char *)0x77;" (statement_identifier "LAB_00037ade") (: ":") (expression_statement "param_2 = (char *)0x77;" (assignment_expression "param_2 = (char *)0x77" (identifier "param_2") (= "=") (cast_expression "(char *)0x77" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x77"))) (; ";"))) (expression_statement "filename = (undefined **)local_24;" (assignment_expression "filename = (undefined **)local_24" (identifier "filename") (= "=") (cast_expression "(undefined **)local_24" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_24"))) (; ";")) (expression_statement "uVar12 = FUN_00075fa0(uVar16,0x77,local_24);" (assignment_expression "uVar12 = FUN_00075fa0(uVar16,0x77,local_24)" (identifier "uVar12") (= "=") (call_expression "FUN_00075fa0(uVar16,0x77,local_24)" (identifier "FUN_00075fa0") (argument_list "(uVar16,0x77,local_24)" (( "(") (identifier "uVar16") (, ",") (number_literal "0x77") (, ",") (identifier "local_24") () ")")))) (; ";")) (expression_statement "pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);" (assignment_expression "pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20)" (identifier "pppppcVar11") (= "=") (cast_expression "(char *****)((ulonglong)uVar12 >> 0x20)" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((ulonglong)uVar12 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar12 >> 0x20" (cast_expression "(ulonglong)uVar12" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar12")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pBVar5 = (BIO *)uVar12;" (assignment_expression "pBVar5 = (BIO *)uVar12" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)uVar12" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar12"))) (; ";")) (if_statement "if (pBVar5 == (BIO *)0x0) {\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }\n  else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }" (if "if") (parenthesized_expression "(pBVar5 == (BIO *)0x0)" (( "(") (binary_expression "pBVar5 == (BIO *)0x0" (identifier "pBVar5") (== "==") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    a_00 = (X509_CRL *)0x0;\nLAB_00037a87:\n    iVar3 = 1;\n  }" ({ "{") (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00037a87:\n    iVar3 = 1;" (statement_identifier "LAB_00037a87") (: ":") (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";"))) (} "}")) (else_clause "else {\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }" (else "else") (compound_statement "{\n    if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }\n    a_00 = (X509_CRL *)0x0;\n    if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }\n  }" ({ "{") (if_statement "if ((char *****)local_24 == (char *****)0x4) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }\n    else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" (if "if") (parenthesized_expression "((char *****)local_24 == (char *****)0x4)" (( "(") (binary_expression "(char *****)local_24 == (char *****)0x4" (cast_expression "(char *****)local_24" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_24")) (== "==") (cast_expression "(char *****)0x4" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x4"))) () ")")) (compound_statement "{\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_01;\n    }" ({ "{") (expression_statement "param_2 = (char *)p7;" (assignment_expression "param_2 = (char *)p7" (identifier "param_2") (= "=") (cast_expression "(char *)p7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "p7"))) (; ";")) (expression_statement "filename = (undefined **)local_24;" (assignment_expression "filename = (undefined **)local_24" (identifier "filename") (= "=") (cast_expression "(undefined **)local_24" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_24"))) (; ";")) (expression_statement "iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);" (assignment_expression "iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7)" (identifier "iVar7") (= "=") (call_expression "i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7)" (identifier "i2d_PKCS7_bio") (argument_list "(pBVar5,(PKCS7 *)p7)" (( "(") (identifier "pBVar5") (, ",") (cast_expression "(PKCS7 *)p7" (( "(") (type_descriptor "PKCS7 *" (type_identifier "PKCS7") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "p7")) () ")")))) (; ";")) (expression_statement "pppppcVar11 = extraout_EDX_01;" (assignment_expression "pppppcVar11 = extraout_EDX_01" (identifier "pppppcVar11") (= "=") (identifier "extraout_EDX_01")) (; ";")) (} "}")) (else_clause "else if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" (else "else") (if_statement "if ((char *****)local_24 == (char *****)0x8005) {\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" (if "if") (parenthesized_expression "((char *****)local_24 == (char *****)0x8005)" (( "(") (binary_expression "(char *****)local_24 == (char *****)0x8005" (cast_expression "(char *****)local_24" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_24")) (== "==") (cast_expression "(char *****)0x8005" (( "(") (type_descriptor "char *****" (primitive_type "char") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x8005"))) () ")")) (compound_statement "{\n      param_2 = (char *)p7;\n      filename = (undefined **)local_24;\n      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);\n      pppppcVar11 = extraout_EDX_00;\n    }" ({ "{") (expression_statement "param_2 = (char *)p7;" (assignment_expression "param_2 = (char *)p7" (identifier "param_2") (= "=") (cast_expression "(char *)p7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "p7"))) (; ";")) (expression_statement "filename = (undefined **)local_24;" (assignment_expression "filename = (undefined **)local_24" (identifier "filename") (= "=") (cast_expression "(undefined **)local_24" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_24"))) (; ";")) (expression_statement "iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);" (assignment_expression "iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7)" (identifier "iVar7") (= "=") (call_expression "PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7)" (identifier "PEM_write_bio_PKCS7") (argument_list "(pBVar5,(PKCS7 *)p7)" (( "(") (identifier "pBVar5") (, ",") (cast_expression "(PKCS7 *)p7" (( "(") (type_descriptor "PKCS7 *" (type_identifier "PKCS7") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "p7")) () ")")))) (; ";")) (expression_statement "pppppcVar11 = extraout_EDX_00;" (assignment_expression "pppppcVar11 = extraout_EDX_00" (identifier "pppppcVar11") (= "=") (identifier "extraout_EDX_00")) (; ";")) (} "}"))))) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar7 == 0) {\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_2 = "unable to write pkcs7 object\n";\n      puVar14 = &DAT_000c458c;\n      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);\n      ERR_print_errors((BIO *)*puVar14);\n      iVar3 = 1;\n      filename = (undefined **)pppppcVar11;\n    }" ({ "{") (expression_statement "param_2 = "unable to write pkcs7 object\n";" (assignment_expression "param_2 = "unable to write pkcs7 object\n"" (identifier "param_2") (= "=") (string_literal ""unable to write pkcs7 object\n"" (" """) (string_content "unable to write pkcs7 object") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "puVar14 = &DAT_000c458c;" (assignment_expression "puVar14 = &DAT_000c458c" (identifier "puVar14") (= "=") (pointer_expression "&DAT_000c458c" (& "&") (identifier "DAT_000c458c"))) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);" (call_expression "BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""unable to write pkcs7 object\n"" (" """) (string_content "unable to write pkcs7 object") (escape_sequence "\n") (" """)) (, ",") (identifier "pppppcVar11") (, ",") (identifier "pppppcVar11") () ")"))) (; ";")) (expression_statement "ERR_print_errors((BIO *)*puVar14);" (call_expression "ERR_print_errors((BIO *)*puVar14)" (identifier "ERR_print_errors") (argument_list "((BIO *)*puVar14)" (( "(") (cast_expression "(BIO *)*puVar14" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) () ")"))) (; ";")) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (expression_statement "filename = (undefined **)pppppcVar11;" (assignment_expression "filename = (undefined **)pppppcVar11" (identifier "filename") (= "=") (cast_expression "(undefined **)pppppcVar11" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppppcVar11"))) (; ";")) (} "}"))) (} "}")))) (goto_statement "goto LAB_00037731;" (goto "goto") (statement_identifier "LAB_00037731") (; ";")) (labeled_statement "LAB_00037700:\n  param_2 = "%s: Use -help for summary.\n";" (statement_identifier "LAB_00037700") (: ":") (expression_statement "param_2 = "%s: Use -help for summary.\n";" (assignment_expression "param_2 = "%s: Use -help for summary.\n"" (identifier "param_2") (= "=") (string_literal ""%s: Use -help for summary.\n"" (" """) (string_content "%s: Use -help for summary.") (escape_sequence "\n") (" """))) (; ";"))) (expression_statement "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);" (call_expression "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""%s: Use -help for summary.\n"" (" """) (string_content "%s: Use -help for summary.") (escape_sequence "\n") (" """)) (, ",") (identifier "pppppcVar2") () ")"))) (; ";")) (expression_statement "filename = (undefined **)pppppcVar2;" (assignment_expression "filename = (undefined **)pppppcVar2" (identifier "filename") (= "=") (cast_expression "(undefined **)pppppcVar2" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppppcVar2"))) (; ";")) (labeled_statement "code_r0x0003771b:\n  iVar3 = 1;" (statement_identifier "code_r0x0003771b") (: ":") (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";"))) (expression_statement "a_00 = (X509_CRL *)0x0;" (assignment_expression "a_00 = (X509_CRL *)0x0" (identifier "a_00") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "p7 = (X509_CRL *)0x0;" (assignment_expression "p7 = (X509_CRL *)0x0" (identifier "p7") (= "=") (cast_expression "(X509_CRL *)0x0" (( "(") (type_descriptor "X509_CRL *" (type_identifier "X509_CRL") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pBVar5 = (BIO *)0x0;" (assignment_expression "pBVar5 = (BIO *)0x0" (identifier "pBVar5") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bp = (BIO *)0x0;" (assignment_expression "bp = (BIO *)0x0" (identifier "bp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00037731:\n  OPENSSL_sk_free(iVar13,param_2,filename);" (statement_identifier "LAB_00037731") (: ":") (expression_statement "OPENSSL_sk_free(iVar13,param_2,filename);" (call_expression "OPENSSL_sk_free(iVar13,param_2,filename)" (identifier "OPENSSL_sk_free") (argument_list "(iVar13,param_2,filename)" (( "(") (identifier "iVar13") (, ",") (identifier "param_2") (, ",") (identifier "filename") () ")"))) (; ";"))) (expression_statement "BIO_free(bp);" (call_expression "BIO_free(bp)" (identifier "BIO_free") (argument_list "(bp)" (( "(") (identifier "bp") () ")"))) (; ";")) (expression_statement "BIO_free_all(pBVar5);" (call_expression "BIO_free_all(pBVar5)" (identifier "BIO_free_all") (argument_list "(pBVar5)" (( "(") (identifier "pBVar5") () ")"))) (; ";")) (expression_statement "PKCS7_free((PKCS7 *)p7);" (call_expression "PKCS7_free((PKCS7 *)p7)" (identifier "PKCS7_free") (argument_list "((PKCS7 *)p7)" (( "(") (cast_expression "(PKCS7 *)p7" (( "(") (type_descriptor "PKCS7 *" (type_identifier "PKCS7") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "p7")) () ")"))) (; ";")) (expression_statement "X509_CRL_free(a_00);" (call_expression "X509_CRL_free(a_00)" (identifier "X509_CRL_free") (argument_list "(a_00)" (( "(") (identifier "a_00") () ")"))) (; ";")) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return iVar3;\n  }" ({ "{") (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}"))) (expression_statement "FUN_0007d010();" (call_expression "FUN_0007d010()" (identifier "FUN_0007d010") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int function_1(int argc,char **argv)

{
  type_1 *ppVar1;
  bool bVar2;
  int *piVar3;
  int var_4;
  char *s;
  type_2 *var_15;
  type_3 *var_17;
  type_4 *pAVar6;
  type_5 *var_21;
  type_6 *result;
  type_2 *var_34;
  type_7 *a;
  type_2 *extraout_EDX;
  int *extraout_EDX_00;
  int *extraout_EDX_01;
  int *extraout_EDX_02;
  type_2 *var_10;
  int var_1;
  char *pcVar9;
  int var_23;
  int local_48;
  type_3 *var_7;
  char *local_40;
  int var_28;
  int var_8;
  int var_37;
  int var_43;
  type_8 uStack_14;
  
  bVar2 = false;
  uStack_14 = 0x3765b;
  var_43 = *(int *)(var_1 + 0x14);
  var_8 = 0x8005;
  var_37 = 0x8005;
  result = crl2pkcs7_options;
  piVar3 = (int *)var_2(argc,argv,(type_9 *)crl2pkcs7_options);
  local_40 = (char *)0x0;
  var_7 = (type_3 *)0x0;
  var_23 = 0;
  pcVar9 = (char *)argv;
_L2:
  var_4 = var_3();
  if (var_4 == 0) {
    var_4 = var_5();
    if (var_4 == 0) {
      if (!bVar2) {
        pcVar9 = (char *)0x72;
        result = (type_6 *)var_8;
        var_7 = (type_3 *)var_6((char *)var_7,'r',var_8);
        if (var_7 == (type_3 *)0x0) {
          var_10 = (type_2 *)0x0;
          var_15 = (type_2 *)0x0;
          var_17 = (type_3 *)0x0;
          local_48 = 1;
        }
        else {
          if (var_8 == 4) {
            pcVar9 = (char *)0x0;
            var_10 = var_9(var_7,(type_2 **)0x0);
LAB_00037aa8:
            if (var_10 != (type_2 *)0x0) goto LAB_00037873;
          }
          else if (var_8 == 0x8005) {
            result = (type_6 *)0x0;
            pcVar9 = (char *)0x0;
            var_10 = var_11(var_7,(type_2 **)0x0,(type_6 *)0x0,(void *)0x0);
            goto LAB_00037aa8;
          }
          var_15 = (type_2 *)0x0;
          var_17 = (type_3 *)0x0;
          pcVar9 = "unable to load CRL\n";
          var_12((type_3 *)bio_err,"unable to load CRL\n");
          var_10 = (type_2 *)0x0;
          var_13((type_3 *)bio_err);
          local_48 = 1;
        }
        goto LAB_00037731;
      }
      var_7 = (type_3 *)0x0;
      var_10 = (type_2 *)0x0;
LAB_00037873:
      var_15 = (type_2 *)var_14();
      if (var_15 != (type_2 *)0x0) {
        var_17 = (type_3 *)var_16();
        if (var_17 == (type_3 *)0x0) goto LAB_00037a87;
        pAVar6 = var_18(0x16);
        ((type_10 *)&var_15->akid)->sign = (type_11 *)var_17;
        ppVar1 = (type_1 *)var_17->flags;
        var_15->flags = (int)pAVar6;
        pAVar6 = var_18(0x15);
        ppVar1->type = pAVar6;
        pcVar9 = (char *)0x1;
        var_4 = var_19((type_12 *)var_17->method,1);
        if (var_4 == 0) {
          local_48 = 1;
          var_17 = (type_3 *)0x0;
          goto LAB_00037731;
        }
        var_21 = (type_5 *)var_20();
        if (var_21 != (type_5 *)0x0) {
          var_17->init = (int)var_21;
          if (var_10 != (type_2 *)0x0) {
            var_22(var_21,var_10);
            pcVar9 = (char *)var_10;
          }
          var_10 = (type_2 *)var_20();
          if (var_10 != (type_2 *)0x0) {
            var_17->cb_arg = (char *)var_10;
            var_28 = 0;
            var_34 = var_10;
            if (var_23 != 0) goto LAB_00037930;
            var_28 = var_23;
            goto LAB_00037ade;
          }
        }
      }
      var_17 = (type_3 *)0x0;
      local_48 = 1;
      goto LAB_00037731;
    }
    goto _L12;
  }
  switch(var_4) {
  default:
    goto _L2;
  case 1:
    var_15 = (type_2 *)0x0;
    var_17 = (type_3 *)0x0;
    var_10 = (type_2 *)0x0;
    var_24((type_9 *)crl2pkcs7_options);
    local_48 = 0;
    var_7 = (type_3 *)0x0;
    goto LAB_00037731;
  case 2:
    s = var_25();
    result = (type_6 *)&var_8;
    break;
  case 3:
    s = var_25();
    result = (type_6 *)&var_37;
    break;
  case 4:
    var_7 = (type_3 *)var_25();
    goto _L2;
  case 5:
    local_40 = var_25();
    goto _L2;
  case 6:
    bVar2 = true;
    goto _L2;
  case 7:
    if ((var_23 == 0) && (var_23 = var_20(), var_23 == 0)) {
      var_10 = (type_2 *)0x0;
      var_15 = (type_2 *)0x0;
      var_17 = (type_3 *)0x0;
      var_7 = (type_3 *)0x0;
      local_48 = 1;
      goto LAB_00037731;
    }
    pcVar9 = var_25();
    var_4 = var_22(var_23,pcVar9);
    if (var_4 == 0) goto LAB_0003771b;
    goto _L2;
  case -1:
    goto _L12;
  }
  pcVar9 = (char *)0x2;
  var_4 = var_26(s,2,(int *)result);
  if (var_4 == 0) goto _L12;
  goto _L2;
LAB_00037930:
  var_4 = var_27(var_23);
  if (var_4 <= var_28) goto LAB_00037ade;
  result = (type_6 *)var_29(var_23,var_28);
  var_17 = var_30(result,"r");
  if (var_17 == (type_3 *)0x0) {
    var_12((type_3 *)bio_err,"error opening the file, %s\n",result,var_34);
    var_31((type_3 *)0x0);
    var_32(0);
LAB_00037bb4:
    pcVar9 = "error loading certificates\n";
    var_17 = (type_3 *)0x0;
    var_12((type_3 *)bio_err,"error loading certificates\n",result,var_34);
    var_10 = (type_2 *)0x0;
    var_13((type_3 *)bio_err);
    local_48 = 1;
    goto LAB_00037731;
  }
  var_34 = (type_2 *)
           var_33(var_17,(type_13 *)0x0,(type_6 *)0x0,(void *)0x0);
  if (var_34 == (type_2 *)0x0) {
    var_34 = extraout_EDX;
    var_12((type_3 *)bio_err,"error reading the file, %s\n",result,extraout_EDX);
    var_31(var_17);
    var_32(0);
    goto LAB_00037bb4;
  }
  while (var_4 = var_27(var_34), var_4 != 0) {
    a = (type_7 *)var_35(var_34);
    if (a->x509 != (type_14 *)0x0) {
      var_22(var_10,a->x509);
      a->x509 = (type_14 *)0x0;
    }
    var_36(a);
  }
  var_31(var_17);
  var_32(var_34);
  var_28 = var_28 + 1;
  goto LAB_00037930;
LAB_00037ade:
  pcVar9 = (char *)0x77;
  result = (type_6 *)var_37;
  var_17 = (type_3 *)var_6(local_40,'w',var_37);
  if (var_17 == (type_3 *)0x0) {
    var_10 = (type_2 *)0x0;
LAB_00037a87:
    local_48 = 1;
  }
  else {
    if (var_37 == 4) {
      pcVar9 = (char *)var_15;
      result = (type_6 *)var_37;
      var_28 = var_38(var_17,(type_15 *)var_15);
      piVar3 = extraout_EDX_02;
    }
    else {
      piVar3 = extraout_EDX_00;
      if (var_37 == 0x8005) {
        pcVar9 = (char *)var_15;
        result = (type_6 *)var_37;
        var_28 = var_39(var_17,(type_15 *)var_15);
        piVar3 = extraout_EDX_01;
      }
    }
    var_10 = (type_2 *)0x0;
    local_48 = 0;
    if (var_28 == 0) {
      pcVar9 = "unable to write pkcs7 object\n";
      var_12((type_3 *)bio_err,"unable to write pkcs7 object\n",piVar3,piVar3);
      var_13((type_3 *)bio_err);
      local_48 = 1;
      result = (type_6 *)piVar3;
    }
  }
  goto LAB_00037731;
_L12:
  pcVar9 = "%s: Use -help for summary.\n";
  var_12((type_3 *)bio_err,"%s: Use -help for summary.\n",piVar3);
  result = (type_6 *)piVar3;
LAB_0003771b:
  local_48 = 1;
  var_10 = (type_2 *)0x0;
  var_15 = (type_2 *)0x0;
  var_17 = (type_3 *)0x0;
  var_7 = (type_3 *)0x0;
LAB_00037731:
  var_32(var_23,pcVar9,result);
  var_31(var_7);
  var_40(var_17);
  var_41((type_15 *)var_15);
  var_42(var_10);
  if (var_43 == *(int *)(var_1 + 0x14)) {
    return local_48;
  }
                    /* WARNING: Subroutine does not return */
  var_44();
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (true))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (goto_statement label: (statement_identifier)))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int MASKED(undefined4 param_1,char *param_2)

{
  bool bVar1;
  char *****pppppcVar2;
  int iVar3;
  undefined4 uVar4;
  X509_CRL *p7;
  BIO *pBVar5;
  ASN1_OBJECT *pAVar6;
  int iVar7;
  stack_st_X509_CRL *psVar8;
  int iVar9;
  undefined **filename;
  X509_CRL *pXVar10;
  X509_INFO *a;
  X509_CRL *extraout_EDX;
  char *****pppppcVar11;
  char *****extraout_EDX_00;
  char *****extraout_EDX_01;
  X509_CRL *a_00;
  int in_GS_OFFSET;
  undefined8 uVar12;
  int iVar13;
  undefined4 *puVar14;
  undefined4 uVar15;
  BIO *bp;
  undefined4 uVar16;
  char *****pppppcVar17;
  pkcs7_st *ppVar18;
  char ****local_28;
  char ****local_24;
  int local_20;
  undefined4 uStack_14;
  
  bVar1 = false;
  uStack_14 = 0x3765b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_28 = (char ****)0x8005;
  local_24 = (char ****)0x8005;
  filename = &PTR_DAT_000b6920;
  pppppcVar2 = (char *****)FUN_00077e50(param_1,param_2,&PTR_DAT_000b6920);
  pppppcVar11 = &local_24;
  uVar16 = 0;
  pppppcVar17 = &local_28;
  uVar15 = 0;
  iVar13 = 0;
LAB_000376c0:
  iVar3 = FUN_00078780(iVar13,pppppcVar11,uVar15,uVar16,pppppcVar17);
  if (iVar3 == 0) {
    iVar3 = FUN_00079110();
    if (iVar3 == 0) {
      if (!bVar1) {
        param_2 = (char *)0x72;
        filename = (undefined **)local_28;
        bp = (BIO *)FUN_00075fa0(uVar15,0x72,local_28);
        if (bp == (BIO *)0x0) {
          a_00 = (X509_CRL *)0x0;
          p7 = (X509_CRL *)0x0;
          pBVar5 = (BIO *)0x0;
          iVar3 = 1;
        }
        else {
          if ((char *****)local_28 == (char *****)0x4) {
            param_2 = (char *)0x0;
            a_00 = d2i_X509_CRL_bio(bp,(X509_CRL **)0x0);
LAB_00037aa8:
            if (a_00 != (X509_CRL *)0x0) goto LAB_00037873;
          }
          else if ((char *****)local_28 == (char *****)0x8005) {
            filename = (undefined **)0x0;
            param_2 = (char *)0x0;
            a_00 = PEM_read_bio_X509_CRL(bp,(X509_CRL **)0x0,(undefined1 *)0x0,(void *)0x0);
            goto LAB_00037aa8;
          }
          p7 = (X509_CRL *)0x0;
          pBVar5 = (BIO *)0x0;
          param_2 = "unable to load CRL\n";
          BIO_printf(DAT_000c458c,"unable to load CRL\n");
          a_00 = (X509_CRL *)0x0;
          ERR_print_errors(DAT_000c458c);
          iVar3 = 1;
        }
        goto LAB_00037731;
      }
      bp = (BIO *)0x0;
      a_00 = (X509_CRL *)0x0;
LAB_00037873:
      p7 = (X509_CRL *)PKCS7_new();
      if (p7 != (X509_CRL *)0x0) {
        pBVar5 = (BIO *)PKCS7_SIGNED_new();
        if (pBVar5 == (BIO *)0x0) goto LAB_00037a87;
        pAVar6 = OBJ_nid2obj(0x16);
        ((_union_450 *)&p7->akid)->sign = (PKCS7_SIGNED *)pBVar5;
        ppVar18 = (pkcs7_st *)pBVar5->flags;
        p7->flags = (int)pAVar6;
        pAVar6 = OBJ_nid2obj(0x15);
        ppVar18->type = pAVar6;
        param_2 = (char *)0x1;
        iVar7 = ASN1_INTEGER_set((ASN1_INTEGER *)pBVar5->method,1);
        if (iVar7 == 0) {
          iVar3 = 1;
          pBVar5 = (BIO *)0x0;
          goto LAB_00037731;
        }
        psVar8 = (stack_st_X509_CRL *)OPENSSL_sk_new_null();
        if (psVar8 != (stack_st_X509_CRL *)0x0) {
          pBVar5->init = (int)psVar8;
          if (a_00 != (X509_CRL *)0x0) {
            OPENSSL_sk_push(psVar8,a_00);
            param_2 = (char *)a_00;
          }
          a_00 = (X509_CRL *)OPENSSL_sk_new_null();
          if (a_00 != (X509_CRL *)0x0) {
            pBVar5->cb_arg = (char *)a_00;
            iVar7 = 0;
            pXVar10 = a_00;
            if (iVar13 != 0) goto LAB_00037930;
            iVar7 = 0;
            goto LAB_00037ade;
          }
        }
      }
      pBVar5 = (BIO *)0x0;
      iVar3 = 1;
      goto LAB_00037731;
    }
    goto LAB_00037700;
  }
  switch(iVar3) {
  default:
    goto LAB_000376c0;
  case 1:
    p7 = (X509_CRL *)0x0;
    pBVar5 = (BIO *)0x0;
    a_00 = (X509_CRL *)0x0;
    FUN_00079140(&PTR_DAT_000b6920);
    iVar3 = 0;
    bp = (BIO *)0x0;
    goto LAB_00037731;
  case 2:
    filename = (undefined **)pppppcVar17;
    uVar4 = FUN_00078b30();
    pppppcVar17 = (char *****)filename;
    break;
  case 3:
    filename = (undefined **)pppppcVar11;
    uVar4 = FUN_00078b30();
    pppppcVar11 = (char *****)filename;
    break;
  case 4:
    uVar15 = FUN_00078b30();
    goto LAB_000376c0;
  case 5:
    uVar16 = FUN_00078b30();
    goto LAB_000376c0;
  case 6:
    bVar1 = true;
    goto LAB_000376c0;
  case 7:
    if ((iVar13 == 0) && (iVar13 = OPENSSL_sk_new_null(), iVar13 == 0)) {
      a_00 = (X509_CRL *)0x0;
      p7 = (X509_CRL *)0x0;
      pBVar5 = (BIO *)0x0;
      bp = (BIO *)0x0;
      iVar3 = 1;
      goto LAB_00037731;
    }
    param_2 = (char *)FUN_00078b30();
    iVar3 = OPENSSL_sk_push(iVar13,param_2);
    if (iVar3 == 0) goto code_r0x0003771b;
    goto LAB_000376c0;
  case -1:
    goto LAB_00037700;
  }
  param_2 = (char *)0x2;
  iVar3 = FUN_00077fb0(uVar4,2,filename);
  if (iVar3 == 0) goto LAB_00037700;
  goto LAB_000376c0;
LAB_00037930:
  iVar9 = OPENSSL_sk_num(iVar13);
  if (iVar9 <= iVar7) goto LAB_00037ade;
  filename = (undefined **)OPENSSL_sk_value(iVar13,iVar7);
  pBVar5 = BIO_new_file((char *)filename,"r");
  if (pBVar5 == (BIO *)0x0) {
    BIO_printf(DAT_000c458c,"error opening the file, %s\n",filename,pXVar10);
    BIO_free((BIO *)0x0);
    OPENSSL_sk_free(0);
LAB_00037bb4:
    param_2 = "error loading certificates\n";
    pBVar5 = (BIO *)0x0;
    BIO_printf(DAT_000c458c,"error loading certificates\n",filename,pXVar10);
    a_00 = (X509_CRL *)0x0;
    ERR_print_errors(DAT_000c458c);
    iVar3 = 1;
    goto LAB_00037731;
  }
  pXVar10 = (X509_CRL *)
            PEM_X509_INFO_read_bio(pBVar5,(stack_st_X509_INFO *)0x0,(undefined1 *)0x0,(void *)0x0);
  if (pXVar10 == (X509_CRL *)0x0) {
    pXVar10 = extraout_EDX;
    BIO_printf(DAT_000c458c,"error reading the file, %s\n",filename,extraout_EDX);
    BIO_free(pBVar5);
    OPENSSL_sk_free(0);
    goto LAB_00037bb4;
  }
  while (iVar9 = OPENSSL_sk_num(pXVar10), iVar9 != 0) {
    a = (X509_INFO *)OPENSSL_sk_shift(pXVar10);
    if (a->x509 != (X509 *)0x0) {
      OPENSSL_sk_push(a_00,a->x509);
      a->x509 = (X509 *)0x0;
    }
    X509_INFO_free(a);
  }
  BIO_free(pBVar5);
  OPENSSL_sk_free(pXVar10);
  iVar7 = iVar7 + 1;
  goto LAB_00037930;
LAB_00037ade:
  param_2 = (char *)0x77;
  filename = (undefined **)local_24;
  uVar12 = FUN_00075fa0(uVar16,0x77,local_24);
  pppppcVar11 = (char *****)((ulonglong)uVar12 >> 0x20);
  pBVar5 = (BIO *)uVar12;
  if (pBVar5 == (BIO *)0x0) {
    a_00 = (X509_CRL *)0x0;
LAB_00037a87:
    iVar3 = 1;
  }
  else {
    if ((char *****)local_24 == (char *****)0x4) {
      param_2 = (char *)p7;
      filename = (undefined **)local_24;
      iVar7 = i2d_PKCS7_bio(pBVar5,(PKCS7 *)p7);
      pppppcVar11 = extraout_EDX_01;
    }
    else if ((char *****)local_24 == (char *****)0x8005) {
      param_2 = (char *)p7;
      filename = (undefined **)local_24;
      iVar7 = PEM_write_bio_PKCS7(pBVar5,(PKCS7 *)p7);
      pppppcVar11 = extraout_EDX_00;
    }
    a_00 = (X509_CRL *)0x0;
    if (iVar7 == 0) {
      param_2 = "unable to write pkcs7 object\n";
      puVar14 = &DAT_000c458c;
      BIO_printf(DAT_000c458c,"unable to write pkcs7 object\n",pppppcVar11,pppppcVar11);
      ERR_print_errors((BIO *)*puVar14);
      iVar3 = 1;
      filename = (undefined **)pppppcVar11;
    }
  }
  goto LAB_00037731;
LAB_00037700:
  param_2 = "%s: Use -help for summary.\n";
  BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",pppppcVar2);
  filename = (undefined **)pppppcVar2;
code_r0x0003771b:
  iVar3 = 1;
  a_00 = (X509_CRL *)0x0;
  p7 = (X509_CRL *)0x0;
  pBVar5 = (BIO *)0x0;
  bp = (BIO *)0x0;
LAB_00037731:
  OPENSSL_sk_free(iVar13,param_2,filename);
  BIO_free(bp);
  BIO_free_all(pBVar5);
  PKCS7_free((PKCS7 *)p7);
  X509_CRL_free(a_00);
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar3;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0007d010();
}

