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

int sess_id_main(int argc,char **argv)

{
  char *pcVar1;
  int iVar2;
  char *s;
  BIO *in;
  SSL_SESSION *s_00;
  X509 *x;
  size_t sid_ctx_len;
  BIO *fp;
  int iVar3;
  int in_GS_OFFSET;
  ulong flags;
  int *result;
  SSL_SESSION *pSVar4;
  undefined4 uVar5;
  uchar *local_4c;
  char *local_48;
  int local_44;
  int local_40;
  int local_3c;
  char *local_38;
  int informat;
  int outformat;
  int local_20;
  undefined4 uStack_14;
  
  iVar3 = 0;
  uStack_14 = 0x6099b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  informat = 0x8005;
  outformat = 0x8005;
  pcVar1 = opt_init(argc,argv,(OPTIONS *)sess_id_options);
  local_40 = 0;
  local_44 = 0;
  local_3c = 0;
  local_4c = (uchar *)0x0;
  local_38 = (char *)0x0;
  local_48 = (char *)0x0;
_L2:
  iVar2 = opt_next();
  if (iVar2 != 0) {
LAB_00060a25:
    switch(iVar2) {
    default:
      goto _L2;
    case 1:
      iVar3 = 0;
      fp = (BIO *)0x0;
      s_00 = (SSL_SESSION *)0x0;
      opt_help((OPTIONS *)sess_id_options);
      goto LAB_00060a84;
    case 2:
      s = opt_arg();
      flags = 2;
      result = &informat;
      break;
    case 3:
      s = opt_arg();
      flags = 0x82;
      result = &outformat;
      break;
    case 4:
      local_48 = opt_arg();
      goto _L2;
    case 5:
      local_38 = opt_arg();
      goto _L2;
    case 6:
      iVar3 = iVar3 + 1;
      local_40 = iVar3;
      goto _L2;
    case 7:
      iVar3 = iVar3 + 1;
      local_3c = iVar3;
      goto _L2;
    case 8:
      iVar3 = iVar3 + 1;
      local_44 = iVar3;
      goto _L2;
    case 9:
      goto _L4;
    case -1:
      goto _L14;
    }
    iVar2 = opt_format(s,flags,result);
    if (iVar2 == 0) goto _L14;
    goto _L2;
  }
LAB_00060ad0:
  iVar2 = opt_num_rest();
  iVar3 = informat;
  if (iVar2 != 0) {
_L14:
    iVar3 = 1;
    s_00 = (SSL_SESSION *)0x0;
    fp = (BIO *)0x0;
    BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",pcVar1);
    goto LAB_00060a84;
  }
  in = (BIO *)bio_open_default(local_48,'r',informat);
  if (in == (BIO *)0x0) {
    s_00 = (SSL_SESSION *)0x0;
    iVar3 = 1;
    BIO_free((BIO *)0x0);
    fp = (BIO *)0x0;
    goto LAB_00060a84;
  }
  if (iVar3 == 4) {
    uVar5 = 0;
    s_00 = (SSL_SESSION *)
           ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,
                        (void **)0x0);
  }
  else {
    uVar5 = 0;
    s_00 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);
  }
  if (s_00 == (SSL_SESSION *)0x0) {
    BIO_printf((BIO *)bio_err,"unable to load SSL_SESSION\n");
    iVar3 = 1;
    ERR_print_errors((BIO *)bio_err);
    fp = (BIO *)0x0;
    BIO_free(in);
    goto LAB_00060a84;
  }
  BIO_free(in);
  x = SSL_SESSION_get0_peer(s_00);
  if (local_4c != (uchar *)0x0) {
    sid_ctx_len = strlen((char *)local_4c);
    if (sid_ctx_len < 0x21) {
      iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len);
      if (iVar3 != 0) goto LAB_00060b6a;
      pcVar1 = "Error setting id context\n";
    }
    else {
      pcVar1 = "Context too long\n";
    }
    iVar3 = 1;
    fp = (BIO *)0x0;
    BIO_printf((BIO *)bio_err,pcVar1);
    goto LAB_00060a84;
  }
LAB_00060b6a:
  iVar3 = 0;
  if ((local_40 == 0) && (fp = (BIO *)0x0, local_44 != 0)) goto LAB_00060a84;
  pSVar4 = (SSL_SESSION *)outformat;
  fp = (BIO *)bio_open_default(local_38,'w',outformat);
  if (fp == (BIO *)0x0) {
    iVar3 = 1;
    goto LAB_00060a84;
  }
  if ((local_40 == 0) || (SSL_SESSION_print(fp,s_00), local_3c == 0)) {
    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;
    if (outformat == 4) {
      pSVar4 = s_00;
      iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00);
LAB_00060d46:
      iVar3 = 0;
      if (iVar2 != 0) goto LAB_00060a84;
      pcVar1 = "unable to write SSL_SESSION\n";
    }
    else {
      if (outformat == 0x8005) {
        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);
        goto LAB_00060d46;
      }
      if (outformat == 0xe) {
        iVar2 = SSL_SESSION_print_keylog(fp,s_00);
        goto LAB_00060d46;
      }
LAB_00060d84:
      pcVar1 = "bad output format specified for outfile\n";
    }
  }
  else {
    if (x == (X509 *)0x0) {
      BIO_puts(fp,"No certificate present\n");
      goto LAB_00060a84;
    }
    X509_print(fp,x);
LAB_00060bf7:
    if ((x == (X509 *)0x0) || (local_44 != 0)) goto LAB_00060a84;
    if (outformat == 4) {
      iVar2 = i2d_X509_bio(fp,x);
    }
    else {
      if (outformat != 0x8005) goto LAB_00060d84;
      iVar2 = PEM_write_bio_X509(fp,x);
    }
    if (iVar2 != 0) goto LAB_00060a84;
    pcVar1 = "unable to write X509\n";
    pSVar4 = (SSL_SESSION *)0x0;
    uVar5 = 0;
  }
  iVar3 = 1;
  BIO_printf((BIO *)bio_err,pcVar1,pSVar4,uVar5);
LAB_00060a84:
  BIO_free_all(fp);
  SSL_SESSION_free(s_00);
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar3;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
_L4:
  local_4c = (uchar *)opt_arg();
  iVar2 = opt_next();
  if (iVar2 == 0) goto LAB_00060ad0;
  goto LAB_00060a25;
}



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

undefined4 FUN_00060990(undefined4 param_1,undefined4 param_2)

{
  undefined4 uVar1;
  int iVar2;
  undefined4 uVar3;
  BIO *in;
  SSL_SESSION *pSVar4;
  X509 *x;
  size_t sid_ctx_len;
  char *pcVar5;
  BIO *fp;
  int iVar6;
  int in_GS_OFFSET;
  char cVar7;
  undefined4 uVar8;
  SSL_SESSION **ppSVar9;
  SSL_SESSION *pSVar10;
  uchar *sid_ctx;
  undefined4 uVar11;
  int local_44;
  int local_40;
  int local_3c;
  undefined4 local_38;
  SSL_SESSION *local_28;
  SSL_SESSION *local_24;
  int local_20;
  undefined4 uStack_14;
  
  iVar6 = 0;
  uStack_14 = 0x6099b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_28 = (SSL_SESSION *)0x8005;
  local_24 = (SSL_SESSION *)0x8005;
  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);
  local_40 = 0;
  local_44 = 0;
  local_3c = 0;
  sid_ctx = (uchar *)0x0;
  local_38 = 0;
  uVar11 = 0;
LAB_00060a18:
  iVar2 = FUN_00078780(sid_ctx,uVar11);
  if (iVar2 != 0) {
code_r0x00060a25:
    switch(iVar2) {
    default:
      goto LAB_00060a18;
    case 1:
      uVar11 = 0;
      fp = (BIO *)0x0;
      pSVar4 = (SSL_SESSION *)0x0;
      FUN_00079140(&PTR_DAT_000b9b60);
      goto LAB_00060a84;
    case 2:
      uVar3 = FUN_00078b30();
      uVar8 = 2;
      ppSVar9 = &local_28;
      break;
    case 3:
      uVar3 = FUN_00078b30();
      uVar8 = 0x82;
      ppSVar9 = &local_24;
      break;
    case 4:
      uVar11 = FUN_00078b30();
      goto LAB_00060a18;
    case 5:
      local_38 = FUN_00078b30();
      goto LAB_00060a18;
    case 6:
      iVar6 = iVar6 + 1;
      local_40 = iVar6;
      goto LAB_00060a18;
    case 7:
      iVar6 = iVar6 + 1;
      local_3c = iVar6;
      goto LAB_00060a18;
    case 8:
      iVar6 = iVar6 + 1;
      local_44 = iVar6;
      goto LAB_00060a18;
    case 9:
      goto code_r0x00060ab8;
    case -1:
      goto LAB_00060a60;
    }
    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);
    if (iVar2 == 0) goto LAB_00060a60;
    goto LAB_00060a18;
  }
LAB_00060ad0:
  iVar6 = FUN_00079110();
  pSVar4 = local_28;
  if (iVar6 != 0) {
LAB_00060a60:
    uVar11 = 1;
    pSVar4 = (SSL_SESSION *)0x0;
    fp = (BIO *)0x0;
    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);
    goto LAB_00060a84;
  }
  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);
  if (in == (BIO *)0x0) {
    pSVar4 = (SSL_SESSION *)0x0;
    uVar11 = 1;
    BIO_free((BIO *)0x0);
    fp = (BIO *)0x0;
    goto LAB_00060a84;
  }
  if (pSVar4 == (SSL_SESSION *)0x4) {
    uVar1 = 0;
    pSVar4 = (SSL_SESSION *)
             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,
                          (void **)0x0);
  }
  else {
    uVar1 = 0;
    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);
  }
  if (pSVar4 == (SSL_SESSION *)0x0) {
    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");
    uVar11 = 1;
    ERR_print_errors(DAT_000c458c);
    fp = (BIO *)0x0;
    BIO_free(in);
    goto LAB_00060a84;
  }
  BIO_free(in);
  x = SSL_SESSION_get0_peer(pSVar4);
  if (sid_ctx != (uchar *)0x0) {
    sid_ctx_len = strlen((char *)sid_ctx);
    if (sid_ctx_len < 0x21) {
      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);
      if (iVar6 != 0) goto LAB_00060b6a;
      pcVar5 = "Error setting id context\n";
    }
    else {
      pcVar5 = "Context too long\n";
    }
    uVar11 = 1;
    fp = (BIO *)0x0;
    BIO_printf(DAT_000c458c,pcVar5);
    goto LAB_00060a84;
  }
LAB_00060b6a:
  cVar7 = local_44 == 0;
  uVar11 = 0;
  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;
  pSVar10 = local_24;
  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);
  if (fp == (BIO *)0x0) {
    uVar11 = 1;
    goto LAB_00060a84;
  }
  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {
    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;
    if (local_24 == (SSL_SESSION *)0x4) {
      pSVar10 = pSVar4;
      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);
LAB_00060d46:
      uVar11 = 0;
      if (iVar6 != 0) goto LAB_00060a84;
      pcVar5 = "unable to write SSL_SESSION\n";
    }
    else {
      if (local_24 == (SSL_SESSION *)0x8005) {
        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);
        goto LAB_00060d46;
      }
      if (local_24 == (SSL_SESSION *)0xe) {
        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);
        goto LAB_00060d46;
      }
LAB_00060d84:
      pcVar5 = "bad output format specified for outfile\n";
    }
  }
  else {
    if (x == (X509 *)0x0) {
      BIO_puts(fp,"No certificate present\n");
      goto LAB_00060a84;
    }
    X509_print(fp,x);
LAB_00060bf7:
    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;
    if (local_24 == (SSL_SESSION *)0x4) {
      iVar6 = i2d_X509_bio(fp,x);
    }
    else {
      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;
      iVar6 = PEM_write_bio_X509(fp,x);
    }
    if (iVar6 != 0) goto LAB_00060a84;
    pcVar5 = "unable to write X509\n";
    pSVar10 = (SSL_SESSION *)0x0;
    uVar1 = 0;
  }
  uVar11 = 1;
  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);
LAB_00060a84:
  BIO_free_all(fp);
  SSL_SESSION_free(pSVar4);
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar11;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0007d010();
code_r0x00060ab8:
  sid_ctx = (uchar *)FUN_00078b30();
  iVar2 = FUN_00078780();
  if (iVar2 == 0) goto LAB_00060ad0;
  goto code_r0x00060a25;
}


PUSH EBP
PUSH EDI
PUSH ESI
XOR ESI,ESI
PUSH EBX
CALL 0x0002c7d0
ADD EBX,0x5c0dd
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 EDI,[EBX + 0xffffd0e8]
PUSH EDI
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 + 0x18],EAX
LEA EAX,[ESP + 0x24]
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x4],0x0
MOV dword ptr [ESP + 0x1c],EAX
CALL 0x00078780
TEST EAX,EAX
JZ 0x00060ad0
ADD EAX,0x1
CMP EAX,0xa
JA 0x00060a18
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xfffd1140]
ADD EDX,EBX
JMP EDX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc16e9]
MOV ESI,0x1
XOR EDI,EDI
PUSH EBP
XOR EBP,EBP
PUSH EAX
LEA EAX,[EBX + 0x7b14]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD ESP,0x10
SUB ESP,0xc
PUSH EBP
CALL 0x0002a850
MOV dword ptr [ESP],EDI
CALL 0x00027300
ADD ESP,0x10
MOV EAX,ESI
MOV ECX,dword ptr [ESP + 0x2c]
XOR ECX,dword ptr GS:[0x14]
JNZ 0x00060e2e
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CALL 0x00079110
MOV ESI,EAX
TEST EAX,EAX
JNZ 0x00060a60
MOV EDI,dword ptr [ESP + 0x24]
SUB ESP,0x4
PUSH EDI
PUSH 0x72
PUSH dword ptr [ESP + 0x10]
CALL 0x00075fa0
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x00060cdf
CMP EDI,0x4
JZ 0x00060cf8
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH EAX
CALL 0x00029f80
ADD ESP,0x10
MOV EDI,EAX
TEST EDI,EDI
JZ 0x00060dc1
SUB ESP,0xc
PUSH EBP
CALL 0x0002b860
MOV dword ptr [ESP],EDI
CALL 0x00027ec0
MOV dword ptr [ESP + 0x14],EAX
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
TEST EAX,EAX
JZ 0x00060b6a
SUB ESP,0xc
PUSH EAX
CALL 0x000296b0
ADD ESP,0x10
CMP EAX,0x20
JA 0x00060d5e
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [ESP + 0x8]
PUSH EDI
CALL 0x00027610
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00060d92
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
MOV EAX,dword ptr [ESP + 0xc]
SETZ CL
TEST EAX,EAX
JNZ 0x00060b85
XOR EBP,EBP
TEST CL,CL
JZ 0x00060a84
MOV byte ptr [ESP],CL
SUB ESP,0x4
PUSH dword ptr [ESP + 0x2c]
PUSH 0x77
PUSH dword ptr [ESP + 0x20]
CALL 0x00075fa0
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x00060df7
MOV EAX,dword ptr [ESP + 0xc]
MOVZX ECX,byte ptr [ESP]
TEST EAX,EAX
JZ 0x00060d16
SUB ESP,0x8
PUSH EDI
PUSH EBP
CALL 0x00028860
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
MOVZX ECX,byte ptr [ESP]
TEST EAX,EAX
JZ 0x00060d16
MOV EAX,dword ptr [ESP + 0x4]
TEST EAX,EAX
JZ 0x00060e16
MOV byte ptr [ESP],CL
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH EBP
CALL 0x0002b2c0
ADD ESP,0x10
MOVZX ECX,byte ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
TEST EDX,EDX
JZ 0x00060a84
TEST CL,CL
JZ 0x00060a84
MOV EAX,dword ptr [ESP + 0x28]
CMP EAX,0x4
JZ 0x00060e01
CMP EAX,0x8005
JNZ 0x00060d84
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH EBP
CALL 0x000285d0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00060a84
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffd1085]
PUSH EAX
LEA EAX,[EBX + 0x7b14]
MOV ESI,0x1
PUSH dword ptr [EAX]
CALL 0x00027240
ADD ESP,0x10
JMP 0x00060a84
SUB ESP,0xc
XOR EDI,EDI
MOV ESI,0x1
PUSH 0x0
CALL 0x0002b860
ADD ESP,0x10
JMP 0x00060a84
PUSH 0x0
PUSH EAX
PUSH dword ptr [EBX + 0x14fc]
PUSH dword ptr [EBX + 0x14c0]
CALL 0x00027390
ADD ESP,0x10
MOV EDI,EAX
JMP 0x00060b15
MOV EAX,dword ptr [ESP + 0x10]
OR EAX,dword ptr [ESP + 0x8]
JNZ 0x00060bf7
MOV EAX,dword ptr [ESP + 0x28]
CMP EAX,0x4
JZ 0x00060d9d
CMP EAX,0x8005
JZ 0x00060db2
CMP EAX,0xe
JNZ 0x00060d84
SUB ESP,0x8
PUSH EDI
PUSH EBP
CALL 0x0002af70
ADD ESP,0x10
XOR ESI,ESI
TEST EAX,EAX
JNZ 0x00060a84
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd1068]
JMP 0x00060c43
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd1024]
PUSH EAX
LEA EAX,[EBX + 0x7b14]
MOV ESI,0x1
XOR EBP,EBP
PUSH dword ptr [EAX]
CALL 0x00027240
ADD ESP,0x10
JMP 0x00060a84
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc5d9c]
JMP 0x00060c43
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd1036]
JMP 0x00060d67
SUB ESP,0x4
PUSH EDI
PUSH EBP
PUSH dword ptr [EBX + 0x1554]
CALL 0x0002ad00
ADD ESP,0x10
JMP 0x00060d46
SUB ESP,0x8
PUSH EDI
PUSH EBP
CALL 0x00028fb0
ADD ESP,0x10
JMP 0x00060d46
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd1008]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
POP EAX
PUSH dword ptr [ESI]
MOV ESI,0x1
CALL 0x0002c0c0
MOV dword ptr [ESP],EBP
XOR EBP,EBP
CALL 0x0002b860
ADD ESP,0x10
JMP 0x00060a84
MOV ESI,0x1
JMP 0x00060a84
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH EBP
CALL 0x0002ad50
ADD ESP,0x10
JMP 0x00060c33
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd1050]
PUSH EAX
PUSH EBP
CALL 0x000283e0
ADD ESP,0x10
JMP 0x00060a84
CALL 0x0007d010
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00060990(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  BIO *in;\n  SSL_SESSION *pSVar4;\n  X509 *x;\n  size_t sid_ctx_len;\n  char *pcVar5;\n  BIO *fp;\n  int iVar6;\n  int in_GS_OFFSET;\n  char cVar7;\n  undefined4 uVar8;\n  SSL_SESSION **ppSVar9;\n  SSL_SESSION *pSVar10;\n  uchar *sid_ctx;\n  undefined4 uVar11;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  SSL_SESSION *local_28;\n  SSL_SESSION *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar6 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (SSL_SESSION *)0x8005;\n  local_24 = (SSL_SESSION *)0x8005;\n  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  sid_ctx = (uchar *)0x0;\n  local_38 = 0;\n  uVar11 = 0;\nLAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);\n  if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }\nLAB_00060ad0:\n  iVar6 = FUN_00079110();\n  pSVar4 = local_28;\n  if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);\n  if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(pSVar4);\n  if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  cVar7 = local_44 == 0;\n  uVar11 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;\n  pSVar10 = local_24;\n  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);\n  if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }\n  uVar11 = 1;\n  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(pSVar4);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007d010();\ncode_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();\n  iVar2 = FUN_00078780();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto code_r0x00060a25;\n}\n\n" comment (function_definition "undefined4 FUN_00060990(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  BIO *in;\n  SSL_SESSION *pSVar4;\n  X509 *x;\n  size_t sid_ctx_len;\n  char *pcVar5;\n  BIO *fp;\n  int iVar6;\n  int in_GS_OFFSET;\n  char cVar7;\n  undefined4 uVar8;\n  SSL_SESSION **ppSVar9;\n  SSL_SESSION *pSVar10;\n  uchar *sid_ctx;\n  undefined4 uVar11;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  SSL_SESSION *local_28;\n  SSL_SESSION *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar6 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (SSL_SESSION *)0x8005;\n  local_24 = (SSL_SESSION *)0x8005;\n  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  sid_ctx = (uchar *)0x0;\n  local_38 = 0;\n  uVar11 = 0;\nLAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);\n  if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }\nLAB_00060ad0:\n  iVar6 = FUN_00079110();\n  pSVar4 = local_28;\n  if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);\n  if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(pSVar4);\n  if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  cVar7 = local_44 == 0;\n  uVar11 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;\n  pSVar10 = local_24;\n  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);\n  if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }\n  uVar11 = 1;\n  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(pSVar4);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007d010();\ncode_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();\n  iVar2 = FUN_00078780();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto code_r0x00060a25;\n}" type_identifier (function_declarator "FUN_00060990(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  BIO *in;\n  SSL_SESSION *pSVar4;\n  X509 *x;\n  size_t sid_ctx_len;\n  char *pcVar5;\n  BIO *fp;\n  int iVar6;\n  int in_GS_OFFSET;\n  char cVar7;\n  undefined4 uVar8;\n  SSL_SESSION **ppSVar9;\n  SSL_SESSION *pSVar10;\n  uchar *sid_ctx;\n  undefined4 uVar11;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  SSL_SESSION *local_28;\n  SSL_SESSION *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar6 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (SSL_SESSION *)0x8005;\n  local_24 = (SSL_SESSION *)0x8005;\n  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  sid_ctx = (uchar *)0x0;\n  local_38 = 0;\n  uVar11 = 0;\nLAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);\n  if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }\nLAB_00060ad0:\n  iVar6 = FUN_00079110();\n  pSVar4 = local_28;\n  if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);\n  if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(pSVar4);\n  if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  cVar7 = local_44 == 0;\n  uVar11 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;\n  pSVar10 = local_24;\n  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);\n  if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }\n  uVar11 = 1;\n  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(pSVar4);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007d010();\ncode_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();\n  iVar2 = FUN_00078780();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto code_r0x00060a25;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "BIO *in;" type_identifier (pointer_declarator "*in" * identifier) ;) (declaration "SSL_SESSION *pSVar4;" type_identifier (pointer_declarator "*pSVar4" * identifier) ;) (declaration "X509 *x;" type_identifier (pointer_declarator "*x" * identifier) ;) (declaration "size_t sid_ctx_len;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "BIO *fp;" type_identifier (pointer_declarator "*fp" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "SSL_SESSION **ppSVar9;" type_identifier (pointer_declarator "**ppSVar9" * (pointer_declarator "*ppSVar9" * identifier)) ;) (declaration "SSL_SESSION *pSVar10;" type_identifier (pointer_declarator "*pSVar10" * identifier) ;) (declaration "uchar *sid_ctx;" type_identifier (pointer_declarator "*sid_ctx" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "SSL_SESSION *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "SSL_SESSION *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x6099b;" (assignment_expression "uStack_14 = 0x6099b" 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 = (SSL_SESSION *)0x8005;" (assignment_expression "local_28 = (SSL_SESSION *)0x8005" identifier = (cast_expression "(SSL_SESSION *)0x8005" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = (SSL_SESSION *)0x8005;" (assignment_expression "local_24 = (SSL_SESSION *)0x8005" identifier = (cast_expression "(SSL_SESSION *)0x8005" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);" (assignment_expression "uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60)" identifier = (call_expression "FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60)" identifier (argument_list "(param_1,param_2,&PTR_DAT_000b9b60)" ( identifier , identifier , (pointer_expression "&PTR_DAT_000b9b60" & identifier) )))) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "sid_ctx = (uchar *)0x0;" (assignment_expression "sid_ctx = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);" statement_identifier : (expression_statement "iVar2 = FUN_00078780(sid_ctx,uVar11);" (assignment_expression "iVar2 = FUN_00078780(sid_ctx,uVar11)" identifier = (call_expression "FUN_00078780(sid_ctx,uVar11)" identifier (argument_list "(sid_ctx,uVar11)" ( identifier , identifier )))) ;)) (if_statement "if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }" { (labeled_statement "code_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }" statement_identifier : (switch_statement "switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }" switch (parenthesized_expression "(iVar2)" ( identifier )) (compound_statement "{\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }" { (case_statement "default:\n      goto LAB_00060a18;" default : (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;" case number_literal : (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00079140(&PTR_DAT_000b9b60);" (call_expression "FUN_00079140(&PTR_DAT_000b9b60)" identifier (argument_list "(&PTR_DAT_000b9b60)" ( (pointer_expression "&PTR_DAT_000b9b60" & identifier) ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (case_statement "case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;" case number_literal : (expression_statement "uVar3 = FUN_00078b30();" (assignment_expression "uVar3 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = 2;" (assignment_expression "uVar8 = 2" identifier = number_literal) ;) (expression_statement "ppSVar9 = &local_28;" (assignment_expression "ppSVar9 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;" case number_literal : (expression_statement "uVar3 = FUN_00078b30();" (assignment_expression "uVar3 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = 0x82;" (assignment_expression "uVar8 = 0x82" identifier = number_literal) ;) (expression_statement "ppSVar9 = &local_24;" (assignment_expression "ppSVar9 = &local_24" identifier = (pointer_expression "&local_24" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;" case number_literal : (expression_statement "uVar11 = FUN_00078b30();" (assignment_expression "uVar11 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;" case number_literal : (expression_statement "local_38 = FUN_00078b30();" (assignment_expression "local_38 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;" case number_literal : (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = iVar6;" (assignment_expression "local_40 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;" case number_literal : (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_3c = iVar6;" (assignment_expression "local_3c = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;" case number_literal : (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = iVar6;" (assignment_expression "local_44 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 9:\n      goto code_r0x00060ab8;" case number_literal : (goto_statement "goto code_r0x00060ab8;" goto statement_identifier ;)) (case_statement "case -1:\n      goto LAB_00060a60;" case number_literal : (goto_statement "goto LAB_00060a60;" goto statement_identifier ;)) }))) (expression_statement "iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);" (assignment_expression "iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9)" identifier = (call_expression "FUN_00077fb0(uVar3,uVar8,ppSVar9)" identifier (argument_list "(uVar3,uVar8,ppSVar9)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00060a60;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00060a60;" goto statement_identifier ;)) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;) })) (labeled_statement "LAB_00060ad0:\n  iVar6 = FUN_00079110();" statement_identifier : (expression_statement "iVar6 = FUN_00079110();" (assignment_expression "iVar6 = FUN_00079110()" identifier = (call_expression "FUN_00079110()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pSVar4 = local_28;" (assignment_expression "pSVar4 = local_28" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }" { (labeled_statement "LAB_00060a60:\n    uVar11 = 1;" statement_identifier : (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;)) (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);" (call_expression "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1)" identifier (argument_list "(DAT_000c458c,"%s: Use -help for summary.\n",uVar1)" ( identifier , (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ") , identifier ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (expression_statement "in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);" (assignment_expression "in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28)" identifier = (cast_expression "(BIO *)FUN_00075fa0(uVar11,0x72,local_28)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fa0(uVar11,0x72,local_28)" identifier (argument_list "(uVar11,0x72,local_28)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(in == (BIO *)0x0)" ( (binary_expression "in == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }" { (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (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 "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (if_statement "if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" if (parenthesized_expression "(pSVar4 == (SSL_SESSION *)0x4)" ( (binary_expression "pSVar4 == (SSL_SESSION *)0x4" identifier == (cast_expression "(SSL_SESSION *)0x4" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }" { (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (expression_statement "pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);" (assignment_expression "pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" identifier = (cast_expression "(SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" identifier (argument_list "((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" ( (cast_expression "(xnew *)PTR_SSL_SESSION_new_000bdf38" ( (type_descriptor "xnew *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))))) ;) }) (else_clause "else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" else (compound_statement "{\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" { (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (expression_statement "pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier = (call_expression "PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier (argument_list "(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" ( identifier , (cast_expression "(SSL_SESSION **)0x0" ( (type_descriptor "SSL_SESSION **" 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) )))) ;) }))) (if_statement "if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(pSVar4 == (SSL_SESSION *)0x0)" ( (binary_expression "pSVar4 == (SSL_SESSION *)0x0" identifier == (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }" { (expression_statement "BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");" (call_expression "BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n")" identifier (argument_list "(DAT_000c458c,"unable to load SSL_SESSION\n")" ( identifier , (string_literal ""unable to load SSL_SESSION\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" identifier (argument_list "(DAT_000c458c)" ( identifier ))) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_free(in);" (call_expression "BIO_free(in)" identifier (argument_list "(in)" ( identifier ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (expression_statement "BIO_free(in);" (call_expression "BIO_free(in)" identifier (argument_list "(in)" ( identifier ))) ;) (expression_statement "x = SSL_SESSION_get0_peer(pSVar4);" (assignment_expression "x = SSL_SESSION_get0_peer(pSVar4)" identifier = (call_expression "SSL_SESSION_get0_peer(pSVar4)" identifier (argument_list "(pSVar4)" ( identifier )))) ;) (if_statement "if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(sid_ctx != (uchar *)0x0)" ( (binary_expression "sid_ctx != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }" { (expression_statement "sid_ctx_len = strlen((char *)sid_ctx);" (assignment_expression "sid_ctx_len = strlen((char *)sid_ctx)" identifier = (call_expression "strlen((char *)sid_ctx)" identifier (argument_list "((char *)sid_ctx)" ( (cast_expression "(char *)sid_ctx" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }" if (parenthesized_expression "(sid_ctx_len < 0x21)" ( (binary_expression "sid_ctx_len < 0x21" identifier < number_literal) )) (compound_statement "{\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }" { (expression_statement "iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);" (assignment_expression "iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len)" identifier = (call_expression "SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len)" identifier (argument_list "(pSVar4,sid_ctx,sid_ctx_len)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_00060b6a;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00060b6a;" goto statement_identifier ;)) (expression_statement "pcVar5 = "Error setting id context\n";" (assignment_expression "pcVar5 = "Error setting id context\n"" identifier = (string_literal ""Error setting id context\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      pcVar5 = "Context too long\n";\n    }" else (compound_statement "{\n      pcVar5 = "Context too long\n";\n    }" { (expression_statement "pcVar5 = "Context too long\n";" (assignment_expression "pcVar5 = "Context too long\n"" identifier = (string_literal ""Context too long\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf(DAT_000c458c,pcVar5);" (call_expression "BIO_printf(DAT_000c458c,pcVar5)" identifier (argument_list "(DAT_000c458c,pcVar5)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (labeled_statement "LAB_00060b6a:\n  cVar7 = local_44 == 0;" statement_identifier : (expression_statement "cVar7 = local_44 == 0;" (assignment_expression "cVar7 = local_44 == 0" identifier = (binary_expression "local_44 == 0" identifier == number_literal)) ;)) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;" if (parenthesized_expression "((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7))" ( (binary_expression "(local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)" (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) && (parenthesized_expression "(fp = (BIO *)0x0, !(bool)cVar7)" ( (comma_expression "fp = (BIO *)0x0, !(bool)cVar7" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (unary_expression "!(bool)cVar7" ! (cast_expression "(bool)cVar7" ( (type_descriptor "bool" primitive_type) ) identifier))) ))) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (expression_statement "pSVar10 = local_24;" (assignment_expression "pSVar10 = local_24" identifier = identifier) ;) (expression_statement "fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);" (assignment_expression "fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24)" identifier = (cast_expression "(BIO *)FUN_00075fa0(local_38,0x77,local_24)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fa0(local_38,0x77,local_24)" identifier (argument_list "(local_38,0x77,local_24)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(fp == (BIO *)0x0)" ( (binary_expression "fp == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }" { (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (if_statement "if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }" if (parenthesized_expression "((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0))" ( (binary_expression "(local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)" (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) || (parenthesized_expression "(SSL_SESSION_print(fp,pSVar4), local_3c == 0)" ( (comma_expression "SSL_SESSION_print(fp,pSVar4), local_3c == 0" (call_expression "SSL_SESSION_print(fp,pSVar4)" identifier (argument_list "(fp,pSVar4)" ( identifier , identifier ))) , (binary_expression "local_3c == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }" { (if_statement "if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;" if (parenthesized_expression "(local_3c != 0 || local_44 != 0)" ( (binary_expression "local_3c != 0 || local_44 != 0" (binary_expression "local_3c != 0" identifier != number_literal) || (binary_expression "local_44 != 0" identifier != number_literal)) )) (goto_statement "goto LAB_00060bf7;" goto statement_identifier ;)) (if_statement "if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }" if (parenthesized_expression "(local_24 == (SSL_SESSION *)0x4)" ( (binary_expression "local_24 == (SSL_SESSION *)0x4" identifier == (cast_expression "(SSL_SESSION *)0x4" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }" { (expression_statement "pSVar10 = pSVar4;" (assignment_expression "pSVar10 = pSVar4" identifier = identifier) ;) (expression_statement "iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);" (assignment_expression "iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4)" identifier = (call_expression "ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4)" identifier (argument_list "(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4)" ( identifier , identifier , (cast_expression "(uchar *)pSVar4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (labeled_statement "LAB_00060d46:\n      uVar11 = 0;" statement_identifier : (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;)) (if_statement "if (iVar6 != 0) goto LAB_00060a84;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (expression_statement "pcVar5 = "unable to write SSL_SESSION\n";" (assignment_expression "pcVar5 = "unable to write SSL_SESSION\n"" identifier = (string_literal ""unable to write SSL_SESSION\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }" else (compound_statement "{\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }" { (if_statement "if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }" if (parenthesized_expression "(local_24 == (SSL_SESSION *)0x8005)" ( (binary_expression "local_24 == (SSL_SESSION *)0x8005" identifier == (cast_expression "(SSL_SESSION *)0x8005" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }" { (expression_statement "iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);" (assignment_expression "iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4)" identifier = (call_expression "PEM_write_bio_SSL_SESSION(fp,pSVar4)" identifier (argument_list "(fp,pSVar4)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_00060d46;" goto statement_identifier ;) })) (if_statement "if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }" if (parenthesized_expression "(local_24 == (SSL_SESSION *)0xe)" ( (binary_expression "local_24 == (SSL_SESSION *)0xe" identifier == (cast_expression "(SSL_SESSION *)0xe" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }" { (expression_statement "iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);" (assignment_expression "iVar6 = SSL_SESSION_print_keylog(fp,pSVar4)" identifier = (call_expression "SSL_SESSION_print_keylog(fp,pSVar4)" identifier (argument_list "(fp,pSVar4)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_00060d46;" goto statement_identifier ;) })) (labeled_statement "LAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";" statement_identifier : (expression_statement "pcVar5 = "bad output format specified for outfile\n";" (assignment_expression "pcVar5 = "bad output format specified for outfile\n"" identifier = (string_literal ""bad output format specified for outfile\n"" " string_content escape_sequence ")) ;)) }))) }) (else_clause "else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }" else (compound_statement "{\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }" { (if_statement "if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }" if (parenthesized_expression "(x == (X509 *)0x0)" ( (binary_expression "x == (X509 *)0x0" identifier == (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }" { (expression_statement "BIO_puts(fp,"No certificate present\n");" (call_expression "BIO_puts(fp,"No certificate present\n")" identifier (argument_list "(fp,"No certificate present\n")" ( identifier , (string_literal ""No certificate present\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (expression_statement "X509_print(fp,x);" (call_expression "X509_print(fp,x)" identifier (argument_list "(fp,x)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;" statement_identifier : (if_statement "if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;" if (parenthesized_expression "((x == (X509 *)0x0) || (cVar7 == '\0'))" ( (binary_expression "(x == (X509 *)0x0) || (cVar7 == '\0')" (parenthesized_expression "(x == (X509 *)0x0)" ( (binary_expression "x == (X509 *)0x0" identifier == (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;))) (if_statement "if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }" if (parenthesized_expression "(local_24 == (SSL_SESSION *)0x4)" ( (binary_expression "local_24 == (SSL_SESSION *)0x4" identifier == (cast_expression "(SSL_SESSION *)0x4" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar6 = i2d_X509_bio(fp,x);\n    }" { (expression_statement "iVar6 = i2d_X509_bio(fp,x);" (assignment_expression "iVar6 = i2d_X509_bio(fp,x)" identifier = (call_expression "i2d_X509_bio(fp,x)" identifier (argument_list "(fp,x)" ( identifier , identifier )))) ;) }) (else_clause "else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }" else (compound_statement "{\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }" { (if_statement "if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;" if (parenthesized_expression "(local_24 != (SSL_SESSION *)0x8005)" ( (binary_expression "local_24 != (SSL_SESSION *)0x8005" identifier != (cast_expression "(SSL_SESSION *)0x8005" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00060d84;" goto statement_identifier ;)) (expression_statement "iVar6 = PEM_write_bio_X509(fp,x);" (assignment_expression "iVar6 = PEM_write_bio_X509(fp,x)" identifier = (call_expression "PEM_write_bio_X509(fp,x)" identifier (argument_list "(fp,x)" ( identifier , identifier )))) ;) }))) (if_statement "if (iVar6 != 0) goto LAB_00060a84;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (expression_statement "pcVar5 = "unable to write X509\n";" (assignment_expression "pcVar5 = "unable to write X509\n"" identifier = (string_literal ""unable to write X509\n"" " string_content escape_sequence ")) ;) (expression_statement "pSVar10 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar10 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) }))) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (expression_statement "BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);" (call_expression "BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1)" identifier (argument_list "(DAT_000c458c,pcVar5,pSVar10,uVar1)" ( identifier , identifier , identifier , identifier ))) ;) (labeled_statement "LAB_00060a84:\n  BIO_free_all(fp);" statement_identifier : (expression_statement "BIO_free_all(fp);" (call_expression "BIO_free_all(fp)" identifier (argument_list "(fp)" ( identifier ))) ;)) (expression_statement "SSL_SESSION_free(pSVar4);" (call_expression "SSL_SESSION_free(pSVar4)" identifier (argument_list "(pSVar4)" ( identifier ))) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\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 uVar11;\n  }" { (return_statement "return uVar11;" return identifier ;) })) comment (expression_statement "FUN_0007d010();" (call_expression "FUN_0007d010()" identifier (argument_list "()" ( ))) ;) (labeled_statement "code_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();" statement_identifier : (expression_statement "sid_ctx = (uchar *)FUN_00078b30();" (assignment_expression "sid_ctx = (uchar *)FUN_00078b30()" identifier = (cast_expression "(uchar *)FUN_00078b30()" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "iVar2 = FUN_00078780();" (assignment_expression "iVar2 = FUN_00078780()" identifier = (call_expression "FUN_00078780()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00060ad0;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00060ad0;" goto statement_identifier ;)) (goto_statement "goto code_r0x00060a25;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint sess_id_main(int argc,char **argv)\n\n{\n  char *pcVar1;\n  int iVar2;\n  char *s;\n  BIO *in;\n  SSL_SESSION *s_00;\n  X509 *x;\n  size_t sid_ctx_len;\n  BIO *fp;\n  int iVar3;\n  int in_GS_OFFSET;\n  ulong flags;\n  int *result;\n  SSL_SESSION *pSVar4;\n  undefined4 uVar5;\n  uchar *local_4c;\n  char *local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  char *local_38;\n  int informat;\n  int outformat;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar3 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  informat = 0x8005;\n  outformat = 0x8005;\n  pcVar1 = opt_init(argc,argv,(OPTIONS *)sess_id_options);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  local_4c = (uchar *)0x0;\n  local_38 = (char *)0x0;\n  local_48 = (char *)0x0;\n_L2:\n  iVar2 = opt_next();\n  if (iVar2 != 0) {\nLAB_00060a25:\n    switch(iVar2) {\n    default:\n      goto _L2;\n    case 1:\n      iVar3 = 0;\n      fp = (BIO *)0x0;\n      s_00 = (SSL_SESSION *)0x0;\n      opt_help((OPTIONS *)sess_id_options);\n      goto LAB_00060a84;\n    case 2:\n      s = opt_arg();\n      flags = 2;\n      result = &informat;\n      break;\n    case 3:\n      s = opt_arg();\n      flags = 0x82;\n      result = &outformat;\n      break;\n    case 4:\n      local_48 = opt_arg();\n      goto _L2;\n    case 5:\n      local_38 = opt_arg();\n      goto _L2;\n    case 6:\n      iVar3 = iVar3 + 1;\n      local_40 = iVar3;\n      goto _L2;\n    case 7:\n      iVar3 = iVar3 + 1;\n      local_3c = iVar3;\n      goto _L2;\n    case 8:\n      iVar3 = iVar3 + 1;\n      local_44 = iVar3;\n      goto _L2;\n    case 9:\n      goto _L4;\n    case -1:\n      goto _L14;\n    }\n    iVar2 = opt_format(s,flags,result);\n    if (iVar2 == 0) goto _L14;\n    goto _L2;\n  }\nLAB_00060ad0:\n  iVar2 = opt_num_rest();\n  iVar3 = informat;\n  if (iVar2 != 0) {\n_L14:\n    iVar3 = 1;\n    s_00 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",pcVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)bio_open_default(local_48,'r',informat);\n  if (in == (BIO *)0x0) {\n    s_00 = (SSL_SESSION *)0x0;\n    iVar3 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (iVar3 == 4) {\n    uVar5 = 0;\n    s_00 = (SSL_SESSION *)\n           ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0);\n  }\n  else {\n    uVar5 = 0;\n    s_00 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (s_00 == (SSL_SESSION *)0x0) {\n    BIO_printf((BIO *)bio_err,"unable to load SSL_SESSION\n");\n    iVar3 = 1;\n    ERR_print_errors((BIO *)bio_err);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(s_00);\n  if (local_4c != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)local_4c);\n    if (sid_ctx_len < 0x21) {\n      iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len);\n      if (iVar3 != 0) goto LAB_00060b6a;\n      pcVar1 = "Error setting id context\n";\n    }\n    else {\n      pcVar1 = "Context too long\n";\n    }\n    iVar3 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,pcVar1);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  iVar3 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, local_44 != 0)) goto LAB_00060a84;\n  pSVar4 = (SSL_SESSION *)outformat;\n  fp = (BIO *)bio_open_default(local_38,'w',outformat);\n  if (fp == (BIO *)0x0) {\n    iVar3 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,s_00), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (outformat == 4) {\n      pSVar4 = s_00;\n      iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00);\nLAB_00060d46:\n      iVar3 = 0;\n      if (iVar2 != 0) goto LAB_00060a84;\n      pcVar1 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (outformat == 0x8005) {\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }\n      if (outformat == 0xe) {\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar1 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (local_44 != 0)) goto LAB_00060a84;\n    if (outformat == 4) {\n      iVar2 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (outformat != 0x8005) goto LAB_00060d84;\n      iVar2 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar2 != 0) goto LAB_00060a84;\n    pcVar1 = "unable to write X509\n";\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar5 = 0;\n  }\n  iVar3 = 1;\n  BIO_printf((BIO *)bio_err,pcVar1,pSVar4,uVar5);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(s_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n_L4:\n  local_4c = (uchar *)opt_arg();\n  iVar2 = opt_next();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto LAB_00060a25;\n}\n\n" comment (function_definition "int sess_id_main(int argc,char **argv)\n\n{\n  char *pcVar1;\n  int iVar2;\n  char *s;\n  BIO *in;\n  SSL_SESSION *s_00;\n  X509 *x;\n  size_t sid_ctx_len;\n  BIO *fp;\n  int iVar3;\n  int in_GS_OFFSET;\n  ulong flags;\n  int *result;\n  SSL_SESSION *pSVar4;\n  undefined4 uVar5;\n  uchar *local_4c;\n  char *local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  char *local_38;\n  int informat;\n  int outformat;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar3 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  informat = 0x8005;\n  outformat = 0x8005;\n  pcVar1 = opt_init(argc,argv,(OPTIONS *)sess_id_options);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  local_4c = (uchar *)0x0;\n  local_38 = (char *)0x0;\n  local_48 = (char *)0x0;\n_L2:\n  iVar2 = opt_next();\n  if (iVar2 != 0) {\nLAB_00060a25:\n    switch(iVar2) {\n    default:\n      goto _L2;\n    case 1:\n      iVar3 = 0;\n      fp = (BIO *)0x0;\n      s_00 = (SSL_SESSION *)0x0;\n      opt_help((OPTIONS *)sess_id_options);\n      goto LAB_00060a84;\n    case 2:\n      s = opt_arg();\n      flags = 2;\n      result = &informat;\n      break;\n    case 3:\n      s = opt_arg();\n      flags = 0x82;\n      result = &outformat;\n      break;\n    case 4:\n      local_48 = opt_arg();\n      goto _L2;\n    case 5:\n      local_38 = opt_arg();\n      goto _L2;\n    case 6:\n      iVar3 = iVar3 + 1;\n      local_40 = iVar3;\n      goto _L2;\n    case 7:\n      iVar3 = iVar3 + 1;\n      local_3c = iVar3;\n      goto _L2;\n    case 8:\n      iVar3 = iVar3 + 1;\n      local_44 = iVar3;\n      goto _L2;\n    case 9:\n      goto _L4;\n    case -1:\n      goto _L14;\n    }\n    iVar2 = opt_format(s,flags,result);\n    if (iVar2 == 0) goto _L14;\n    goto _L2;\n  }\nLAB_00060ad0:\n  iVar2 = opt_num_rest();\n  iVar3 = informat;\n  if (iVar2 != 0) {\n_L14:\n    iVar3 = 1;\n    s_00 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",pcVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)bio_open_default(local_48,'r',informat);\n  if (in == (BIO *)0x0) {\n    s_00 = (SSL_SESSION *)0x0;\n    iVar3 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (iVar3 == 4) {\n    uVar5 = 0;\n    s_00 = (SSL_SESSION *)\n           ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0);\n  }\n  else {\n    uVar5 = 0;\n    s_00 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (s_00 == (SSL_SESSION *)0x0) {\n    BIO_printf((BIO *)bio_err,"unable to load SSL_SESSION\n");\n    iVar3 = 1;\n    ERR_print_errors((BIO *)bio_err);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(s_00);\n  if (local_4c != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)local_4c);\n    if (sid_ctx_len < 0x21) {\n      iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len);\n      if (iVar3 != 0) goto LAB_00060b6a;\n      pcVar1 = "Error setting id context\n";\n    }\n    else {\n      pcVar1 = "Context too long\n";\n    }\n    iVar3 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,pcVar1);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  iVar3 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, local_44 != 0)) goto LAB_00060a84;\n  pSVar4 = (SSL_SESSION *)outformat;\n  fp = (BIO *)bio_open_default(local_38,'w',outformat);\n  if (fp == (BIO *)0x0) {\n    iVar3 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,s_00), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (outformat == 4) {\n      pSVar4 = s_00;\n      iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00);\nLAB_00060d46:\n      iVar3 = 0;\n      if (iVar2 != 0) goto LAB_00060a84;\n      pcVar1 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (outformat == 0x8005) {\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }\n      if (outformat == 0xe) {\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar1 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (local_44 != 0)) goto LAB_00060a84;\n    if (outformat == 4) {\n      iVar2 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (outformat != 0x8005) goto LAB_00060d84;\n      iVar2 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar2 != 0) goto LAB_00060a84;\n    pcVar1 = "unable to write X509\n";\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar5 = 0;\n  }\n  iVar3 = 1;\n  BIO_printf((BIO *)bio_err,pcVar1,pSVar4,uVar5);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(s_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n_L4:\n  local_4c = (uchar *)opt_arg();\n  iVar2 = opt_next();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto LAB_00060a25;\n}" primitive_type (function_declarator "sess_id_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  char *pcVar1;\n  int iVar2;\n  char *s;\n  BIO *in;\n  SSL_SESSION *s_00;\n  X509 *x;\n  size_t sid_ctx_len;\n  BIO *fp;\n  int iVar3;\n  int in_GS_OFFSET;\n  ulong flags;\n  int *result;\n  SSL_SESSION *pSVar4;\n  undefined4 uVar5;\n  uchar *local_4c;\n  char *local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  char *local_38;\n  int informat;\n  int outformat;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar3 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  informat = 0x8005;\n  outformat = 0x8005;\n  pcVar1 = opt_init(argc,argv,(OPTIONS *)sess_id_options);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  local_4c = (uchar *)0x0;\n  local_38 = (char *)0x0;\n  local_48 = (char *)0x0;\n_L2:\n  iVar2 = opt_next();\n  if (iVar2 != 0) {\nLAB_00060a25:\n    switch(iVar2) {\n    default:\n      goto _L2;\n    case 1:\n      iVar3 = 0;\n      fp = (BIO *)0x0;\n      s_00 = (SSL_SESSION *)0x0;\n      opt_help((OPTIONS *)sess_id_options);\n      goto LAB_00060a84;\n    case 2:\n      s = opt_arg();\n      flags = 2;\n      result = &informat;\n      break;\n    case 3:\n      s = opt_arg();\n      flags = 0x82;\n      result = &outformat;\n      break;\n    case 4:\n      local_48 = opt_arg();\n      goto _L2;\n    case 5:\n      local_38 = opt_arg();\n      goto _L2;\n    case 6:\n      iVar3 = iVar3 + 1;\n      local_40 = iVar3;\n      goto _L2;\n    case 7:\n      iVar3 = iVar3 + 1;\n      local_3c = iVar3;\n      goto _L2;\n    case 8:\n      iVar3 = iVar3 + 1;\n      local_44 = iVar3;\n      goto _L2;\n    case 9:\n      goto _L4;\n    case -1:\n      goto _L14;\n    }\n    iVar2 = opt_format(s,flags,result);\n    if (iVar2 == 0) goto _L14;\n    goto _L2;\n  }\nLAB_00060ad0:\n  iVar2 = opt_num_rest();\n  iVar3 = informat;\n  if (iVar2 != 0) {\n_L14:\n    iVar3 = 1;\n    s_00 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",pcVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)bio_open_default(local_48,'r',informat);\n  if (in == (BIO *)0x0) {\n    s_00 = (SSL_SESSION *)0x0;\n    iVar3 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (iVar3 == 4) {\n    uVar5 = 0;\n    s_00 = (SSL_SESSION *)\n           ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0);\n  }\n  else {\n    uVar5 = 0;\n    s_00 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (s_00 == (SSL_SESSION *)0x0) {\n    BIO_printf((BIO *)bio_err,"unable to load SSL_SESSION\n");\n    iVar3 = 1;\n    ERR_print_errors((BIO *)bio_err);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(s_00);\n  if (local_4c != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)local_4c);\n    if (sid_ctx_len < 0x21) {\n      iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len);\n      if (iVar3 != 0) goto LAB_00060b6a;\n      pcVar1 = "Error setting id context\n";\n    }\n    else {\n      pcVar1 = "Context too long\n";\n    }\n    iVar3 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,pcVar1);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  iVar3 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, local_44 != 0)) goto LAB_00060a84;\n  pSVar4 = (SSL_SESSION *)outformat;\n  fp = (BIO *)bio_open_default(local_38,'w',outformat);\n  if (fp == (BIO *)0x0) {\n    iVar3 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,s_00), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (outformat == 4) {\n      pSVar4 = s_00;\n      iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00);\nLAB_00060d46:\n      iVar3 = 0;\n      if (iVar2 != 0) goto LAB_00060a84;\n      pcVar1 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (outformat == 0x8005) {\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }\n      if (outformat == 0xe) {\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar1 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (local_44 != 0)) goto LAB_00060a84;\n    if (outformat == 4) {\n      iVar2 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (outformat != 0x8005) goto LAB_00060d84;\n      iVar2 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar2 != 0) goto LAB_00060a84;\n    pcVar1 = "unable to write X509\n";\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar5 = 0;\n  }\n  iVar3 = 1;\n  BIO_printf((BIO *)bio_err,pcVar1,pSVar4,uVar5);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(s_00);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n_L4:\n  local_4c = (uchar *)opt_arg();\n  iVar2 = opt_next();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto LAB_00060a25;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *s;" primitive_type (pointer_declarator "*s" * identifier) ;) (declaration "BIO *in;" type_identifier (pointer_declarator "*in" * identifier) ;) (declaration "SSL_SESSION *s_00;" type_identifier (pointer_declarator "*s_00" * identifier) ;) (declaration "X509 *x;" type_identifier (pointer_declarator "*x" * identifier) ;) (declaration "size_t sid_ctx_len;" primitive_type identifier ;) (declaration "BIO *fp;" type_identifier (pointer_declarator "*fp" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "ulong flags;" type_identifier identifier ;) (declaration "int *result;" primitive_type (pointer_declarator "*result" * identifier) ;) (declaration "SSL_SESSION *pSVar4;" type_identifier (pointer_declarator "*pSVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "uchar *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * 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 "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x6099b;" (assignment_expression "uStack_14 = 0x6099b" 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 "pcVar1 = opt_init(argc,argv,(OPTIONS *)sess_id_options);" (assignment_expression "pcVar1 = opt_init(argc,argv,(OPTIONS *)sess_id_options)" identifier = (call_expression "opt_init(argc,argv,(OPTIONS *)sess_id_options)" identifier (argument_list "(argc,argv,(OPTIONS *)sess_id_options)" ( identifier , identifier , (cast_expression "(OPTIONS *)sess_id_options" ( (type_descriptor "OPTIONS *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_4c = (uchar *)0x0;" (assignment_expression "local_4c = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_38 = (char *)0x0;" (assignment_expression "local_38 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_48 = (char *)0x0;" (assignment_expression "local_48 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "_L2:\n  iVar2 = opt_next();" statement_identifier : (expression_statement "iVar2 = opt_next();" (assignment_expression "iVar2 = opt_next()" identifier = (call_expression "opt_next()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar2 != 0) {\nLAB_00060a25:\n    switch(iVar2) {\n    default:\n      goto _L2;\n    case 1:\n      iVar3 = 0;\n      fp = (BIO *)0x0;\n      s_00 = (SSL_SESSION *)0x0;\n      opt_help((OPTIONS *)sess_id_options);\n      goto LAB_00060a84;\n    case 2:\n      s = opt_arg();\n      flags = 2;\n      result = &informat;\n      break;\n    case 3:\n      s = opt_arg();\n      flags = 0x82;\n      result = &outformat;\n      break;\n    case 4:\n      local_48 = opt_arg();\n      goto _L2;\n    case 5:\n      local_38 = opt_arg();\n      goto _L2;\n    case 6:\n      iVar3 = iVar3 + 1;\n      local_40 = iVar3;\n      goto _L2;\n    case 7:\n      iVar3 = iVar3 + 1;\n      local_3c = iVar3;\n      goto _L2;\n    case 8:\n      iVar3 = iVar3 + 1;\n      local_44 = iVar3;\n      goto _L2;\n    case 9:\n      goto _L4;\n    case -1:\n      goto _L14;\n    }\n    iVar2 = opt_format(s,flags,result);\n    if (iVar2 == 0) goto _L14;\n    goto _L2;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00060a25:\n    switch(iVar2) {\n    default:\n      goto _L2;\n    case 1:\n      iVar3 = 0;\n      fp = (BIO *)0x0;\n      s_00 = (SSL_SESSION *)0x0;\n      opt_help((OPTIONS *)sess_id_options);\n      goto LAB_00060a84;\n    case 2:\n      s = opt_arg();\n      flags = 2;\n      result = &informat;\n      break;\n    case 3:\n      s = opt_arg();\n      flags = 0x82;\n      result = &outformat;\n      break;\n    case 4:\n      local_48 = opt_arg();\n      goto _L2;\n    case 5:\n      local_38 = opt_arg();\n      goto _L2;\n    case 6:\n      iVar3 = iVar3 + 1;\n      local_40 = iVar3;\n      goto _L2;\n    case 7:\n      iVar3 = iVar3 + 1;\n      local_3c = iVar3;\n      goto _L2;\n    case 8:\n      iVar3 = iVar3 + 1;\n      local_44 = iVar3;\n      goto _L2;\n    case 9:\n      goto _L4;\n    case -1:\n      goto _L14;\n    }\n    iVar2 = opt_format(s,flags,result);\n    if (iVar2 == 0) goto _L14;\n    goto _L2;\n  }" { (labeled_statement "LAB_00060a25:\n    switch(iVar2) {\n    default:\n      goto _L2;\n    case 1:\n      iVar3 = 0;\n      fp = (BIO *)0x0;\n      s_00 = (SSL_SESSION *)0x0;\n      opt_help((OPTIONS *)sess_id_options);\n      goto LAB_00060a84;\n    case 2:\n      s = opt_arg();\n      flags = 2;\n      result = &informat;\n      break;\n    case 3:\n      s = opt_arg();\n      flags = 0x82;\n      result = &outformat;\n      break;\n    case 4:\n      local_48 = opt_arg();\n      goto _L2;\n    case 5:\n      local_38 = opt_arg();\n      goto _L2;\n    case 6:\n      iVar3 = iVar3 + 1;\n      local_40 = iVar3;\n      goto _L2;\n    case 7:\n      iVar3 = iVar3 + 1;\n      local_3c = iVar3;\n      goto _L2;\n    case 8:\n      iVar3 = iVar3 + 1;\n      local_44 = iVar3;\n      goto _L2;\n    case 9:\n      goto _L4;\n    case -1:\n      goto _L14;\n    }" statement_identifier : (switch_statement "switch(iVar2) {\n    default:\n      goto _L2;\n    case 1:\n      iVar3 = 0;\n      fp = (BIO *)0x0;\n      s_00 = (SSL_SESSION *)0x0;\n      opt_help((OPTIONS *)sess_id_options);\n      goto LAB_00060a84;\n    case 2:\n      s = opt_arg();\n      flags = 2;\n      result = &informat;\n      break;\n    case 3:\n      s = opt_arg();\n      flags = 0x82;\n      result = &outformat;\n      break;\n    case 4:\n      local_48 = opt_arg();\n      goto _L2;\n    case 5:\n      local_38 = opt_arg();\n      goto _L2;\n    case 6:\n      iVar3 = iVar3 + 1;\n      local_40 = iVar3;\n      goto _L2;\n    case 7:\n      iVar3 = iVar3 + 1;\n      local_3c = iVar3;\n      goto _L2;\n    case 8:\n      iVar3 = iVar3 + 1;\n      local_44 = iVar3;\n      goto _L2;\n    case 9:\n      goto _L4;\n    case -1:\n      goto _L14;\n    }" switch (parenthesized_expression "(iVar2)" ( identifier )) (compound_statement "{\n    default:\n      goto _L2;\n    case 1:\n      iVar3 = 0;\n      fp = (BIO *)0x0;\n      s_00 = (SSL_SESSION *)0x0;\n      opt_help((OPTIONS *)sess_id_options);\n      goto LAB_00060a84;\n    case 2:\n      s = opt_arg();\n      flags = 2;\n      result = &informat;\n      break;\n    case 3:\n      s = opt_arg();\n      flags = 0x82;\n      result = &outformat;\n      break;\n    case 4:\n      local_48 = opt_arg();\n      goto _L2;\n    case 5:\n      local_38 = opt_arg();\n      goto _L2;\n    case 6:\n      iVar3 = iVar3 + 1;\n      local_40 = iVar3;\n      goto _L2;\n    case 7:\n      iVar3 = iVar3 + 1;\n      local_3c = iVar3;\n      goto _L2;\n    case 8:\n      iVar3 = iVar3 + 1;\n      local_44 = iVar3;\n      goto _L2;\n    case 9:\n      goto _L4;\n    case -1:\n      goto _L14;\n    }" { (case_statement "default:\n      goto _L2;" default : (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 1:\n      iVar3 = 0;\n      fp = (BIO *)0x0;\n      s_00 = (SSL_SESSION *)0x0;\n      opt_help((OPTIONS *)sess_id_options);\n      goto LAB_00060a84;" case number_literal : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "s_00 = (SSL_SESSION *)0x0;" (assignment_expression "s_00 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "opt_help((OPTIONS *)sess_id_options);" (call_expression "opt_help((OPTIONS *)sess_id_options)" identifier (argument_list "((OPTIONS *)sess_id_options)" ( (cast_expression "(OPTIONS *)sess_id_options" ( (type_descriptor "OPTIONS *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (case_statement "case 2:\n      s = opt_arg();\n      flags = 2;\n      result = &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 "flags = 2;" (assignment_expression "flags = 2" identifier = number_literal) ;) (expression_statement "result = &informat;" (assignment_expression "result = &informat" identifier = (pointer_expression "&informat" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      s = opt_arg();\n      flags = 0x82;\n      result = &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 "flags = 0x82;" (assignment_expression "flags = 0x82" identifier = number_literal) ;) (expression_statement "result = &outformat;" (assignment_expression "result = &outformat" identifier = (pointer_expression "&outformat" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      local_48 = opt_arg();\n      goto _L2;" case number_literal : (expression_statement "local_48 = opt_arg();" (assignment_expression "local_48 = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 5:\n      local_38 = opt_arg();\n      goto _L2;" case number_literal : (expression_statement "local_38 = opt_arg();" (assignment_expression "local_38 = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 6:\n      iVar3 = iVar3 + 1;\n      local_40 = iVar3;\n      goto _L2;" case number_literal : (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = iVar3;" (assignment_expression "local_40 = iVar3" identifier = identifier) ;) (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 7:\n      iVar3 = iVar3 + 1;\n      local_3c = iVar3;\n      goto _L2;" case number_literal : (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "local_3c = iVar3;" (assignment_expression "local_3c = iVar3" identifier = identifier) ;) (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 8:\n      iVar3 = iVar3 + 1;\n      local_44 = iVar3;\n      goto _L2;" case number_literal : (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = iVar3;" (assignment_expression "local_44 = iVar3" identifier = identifier) ;) (goto_statement "goto _L2;" goto statement_identifier ;)) (case_statement "case 9:\n      goto _L4;" case number_literal : (goto_statement "goto _L4;" goto statement_identifier ;)) (case_statement "case -1:\n      goto _L14;" case number_literal : (goto_statement "goto _L14;" goto statement_identifier ;)) }))) (expression_statement "iVar2 = opt_format(s,flags,result);" (assignment_expression "iVar2 = opt_format(s,flags,result)" identifier = (call_expression "opt_format(s,flags,result)" identifier (argument_list "(s,flags,result)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) goto _L14;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto _L14;" goto statement_identifier ;)) (goto_statement "goto _L2;" goto statement_identifier ;) })) (labeled_statement "LAB_00060ad0:\n  iVar2 = opt_num_rest();" statement_identifier : (expression_statement "iVar2 = opt_num_rest();" (assignment_expression "iVar2 = opt_num_rest()" identifier = (call_expression "opt_num_rest()" identifier (argument_list "()" ( )))) ;)) (expression_statement "iVar3 = informat;" (assignment_expression "iVar3 = informat" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n_L14:\n    iVar3 = 1;\n    s_00 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",pcVar1);\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n_L14:\n    iVar3 = 1;\n    s_00 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",pcVar1);\n    goto LAB_00060a84;\n  }" { (labeled_statement "_L14:\n    iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) (expression_statement "s_00 = (SSL_SESSION *)0x0;" (assignment_expression "s_00 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",pcVar1);" (call_expression "BIO_printf((BIO *)bio_err,"%s: Use -help for summary.\n",pcVar1)" identifier (argument_list "((BIO *)bio_err,"%s: Use -help for summary.\n",pcVar1)" ( (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 ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (expression_statement "in = (BIO *)bio_open_default(local_48,'r',informat);" (assignment_expression "in = (BIO *)bio_open_default(local_48,'r',informat)" identifier = (cast_expression "(BIO *)bio_open_default(local_48,'r',informat)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bio_open_default(local_48,'r',informat)" identifier (argument_list "(local_48,'r',informat)" ( identifier , (char_literal "'r'" ' character ') , identifier ))))) ;) (if_statement "if (in == (BIO *)0x0) {\n    s_00 = (SSL_SESSION *)0x0;\n    iVar3 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(in == (BIO *)0x0)" ( (binary_expression "in == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    s_00 = (SSL_SESSION *)0x0;\n    iVar3 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }" { (expression_statement "s_00 = (SSL_SESSION *)0x0;" (assignment_expression "s_00 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (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 "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 4) {\n    uVar5 = 0;\n    s_00 = (SSL_SESSION *)\n           ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0);\n  }\n  else {\n    uVar5 = 0;\n    s_00 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" if (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) (compound_statement "{\n    uVar5 = 0;\n    s_00 = (SSL_SESSION *)\n           ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0);\n  }" { (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "s_00 = (SSL_SESSION *)\n           ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0);" (assignment_expression "s_00 = (SSL_SESSION *)\n           ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0)" identifier = (cast_expression "(SSL_SESSION *)\n           ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0)" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0)" identifier (argument_list "((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                        (void **)0x0)" ( (cast_expression "(xnew *)PTR_SSL_SESSION_new_000bdf38" ( (type_descriptor "xnew *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))))) ;) }) (else_clause "else {\n    uVar5 = 0;\n    s_00 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" else (compound_statement "{\n    uVar5 = 0;\n    s_00 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" { (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "s_00 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "s_00 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier = (call_expression "PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier (argument_list "(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" ( identifier , (cast_expression "(SSL_SESSION **)0x0" ( (type_descriptor "SSL_SESSION **" 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) )))) ;) }))) (if_statement "if (s_00 == (SSL_SESSION *)0x0) {\n    BIO_printf((BIO *)bio_err,"unable to load SSL_SESSION\n");\n    iVar3 = 1;\n    ERR_print_errors((BIO *)bio_err);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(s_00 == (SSL_SESSION *)0x0)" ( (binary_expression "s_00 == (SSL_SESSION *)0x0" identifier == (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    BIO_printf((BIO *)bio_err,"unable to load SSL_SESSION\n");\n    iVar3 = 1;\n    ERR_print_errors((BIO *)bio_err);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }" { (expression_statement "BIO_printf((BIO *)bio_err,"unable to load SSL_SESSION\n");" (call_expression "BIO_printf((BIO *)bio_err,"unable to load SSL_SESSION\n")" identifier (argument_list "((BIO *)bio_err,"unable to load SSL_SESSION\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unable to load SSL_SESSION\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = 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 "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_free(in);" (call_expression "BIO_free(in)" identifier (argument_list "(in)" ( identifier ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (expression_statement "BIO_free(in);" (call_expression "BIO_free(in)" identifier (argument_list "(in)" ( identifier ))) ;) (expression_statement "x = SSL_SESSION_get0_peer(s_00);" (assignment_expression "x = SSL_SESSION_get0_peer(s_00)" identifier = (call_expression "SSL_SESSION_get0_peer(s_00)" identifier (argument_list "(s_00)" ( identifier )))) ;) (if_statement "if (local_4c != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)local_4c);\n    if (sid_ctx_len < 0x21) {\n      iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len);\n      if (iVar3 != 0) goto LAB_00060b6a;\n      pcVar1 = "Error setting id context\n";\n    }\n    else {\n      pcVar1 = "Context too long\n";\n    }\n    iVar3 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,pcVar1);\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(local_4c != (uchar *)0x0)" ( (binary_expression "local_4c != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sid_ctx_len = strlen((char *)local_4c);\n    if (sid_ctx_len < 0x21) {\n      iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len);\n      if (iVar3 != 0) goto LAB_00060b6a;\n      pcVar1 = "Error setting id context\n";\n    }\n    else {\n      pcVar1 = "Context too long\n";\n    }\n    iVar3 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf((BIO *)bio_err,pcVar1);\n    goto LAB_00060a84;\n  }" { (expression_statement "sid_ctx_len = strlen((char *)local_4c);" (assignment_expression "sid_ctx_len = strlen((char *)local_4c)" identifier = (call_expression "strlen((char *)local_4c)" identifier (argument_list "((char *)local_4c)" ( (cast_expression "(char *)local_4c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (sid_ctx_len < 0x21) {\n      iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len);\n      if (iVar3 != 0) goto LAB_00060b6a;\n      pcVar1 = "Error setting id context\n";\n    }\n    else {\n      pcVar1 = "Context too long\n";\n    }" if (parenthesized_expression "(sid_ctx_len < 0x21)" ( (binary_expression "sid_ctx_len < 0x21" identifier < number_literal) )) (compound_statement "{\n      iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len);\n      if (iVar3 != 0) goto LAB_00060b6a;\n      pcVar1 = "Error setting id context\n";\n    }" { (expression_statement "iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len);" (assignment_expression "iVar3 = SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len)" identifier = (call_expression "SSL_SESSION_set1_id_context(s_00,local_4c,sid_ctx_len)" identifier (argument_list "(s_00,local_4c,sid_ctx_len)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00060b6a;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00060b6a;" goto statement_identifier ;)) (expression_statement "pcVar1 = "Error setting id context\n";" (assignment_expression "pcVar1 = "Error setting id context\n"" identifier = (string_literal ""Error setting id context\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      pcVar1 = "Context too long\n";\n    }" else (compound_statement "{\n      pcVar1 = "Context too long\n";\n    }" { (expression_statement "pcVar1 = "Context too long\n";" (assignment_expression "pcVar1 = "Context too long\n"" identifier = (string_literal ""Context too long\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf((BIO *)bio_err,pcVar1);" (call_expression "BIO_printf((BIO *)bio_err,pcVar1)" identifier (argument_list "((BIO *)bio_err,pcVar1)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (labeled_statement "LAB_00060b6a:\n  iVar3 = 0;" statement_identifier : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;)) (if_statement "if ((local_40 == 0) && (fp = (BIO *)0x0, local_44 != 0)) goto LAB_00060a84;" if (parenthesized_expression "((local_40 == 0) && (fp = (BIO *)0x0, local_44 != 0))" ( (binary_expression "(local_40 == 0) && (fp = (BIO *)0x0, local_44 != 0)" (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) && (parenthesized_expression "(fp = (BIO *)0x0, local_44 != 0)" ( (comma_expression "fp = (BIO *)0x0, local_44 != 0" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "local_44 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (expression_statement "pSVar4 = (SSL_SESSION *)outformat;" (assignment_expression "pSVar4 = (SSL_SESSION *)outformat" identifier = (cast_expression "(SSL_SESSION *)outformat" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fp = (BIO *)bio_open_default(local_38,'w',outformat);" (assignment_expression "fp = (BIO *)bio_open_default(local_38,'w',outformat)" identifier = (cast_expression "(BIO *)bio_open_default(local_38,'w',outformat)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bio_open_default(local_38,'w',outformat)" identifier (argument_list "(local_38,'w',outformat)" ( identifier , (char_literal "'w'" ' character ') , identifier ))))) ;) (if_statement "if (fp == (BIO *)0x0) {\n    iVar3 = 1;\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(fp == (BIO *)0x0)" ( (binary_expression "fp == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = 1;\n    goto LAB_00060a84;\n  }" { (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (if_statement "if ((local_40 == 0) || (SSL_SESSION_print(fp,s_00), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (outformat == 4) {\n      pSVar4 = s_00;\n      iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00);\nLAB_00060d46:\n      iVar3 = 0;\n      if (iVar2 != 0) goto LAB_00060a84;\n      pcVar1 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (outformat == 0x8005) {\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }\n      if (outformat == 0xe) {\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar1 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (local_44 != 0)) goto LAB_00060a84;\n    if (outformat == 4) {\n      iVar2 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (outformat != 0x8005) goto LAB_00060d84;\n      iVar2 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar2 != 0) goto LAB_00060a84;\n    pcVar1 = "unable to write X509\n";\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar5 = 0;\n  }" if (parenthesized_expression "((local_40 == 0) || (SSL_SESSION_print(fp,s_00), local_3c == 0))" ( (binary_expression "(local_40 == 0) || (SSL_SESSION_print(fp,s_00), local_3c == 0)" (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) || (parenthesized_expression "(SSL_SESSION_print(fp,s_00), local_3c == 0)" ( (comma_expression "SSL_SESSION_print(fp,s_00), local_3c == 0" (call_expression "SSL_SESSION_print(fp,s_00)" identifier (argument_list "(fp,s_00)" ( identifier , identifier ))) , (binary_expression "local_3c == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (outformat == 4) {\n      pSVar4 = s_00;\n      iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00);\nLAB_00060d46:\n      iVar3 = 0;\n      if (iVar2 != 0) goto LAB_00060a84;\n      pcVar1 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (outformat == 0x8005) {\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }\n      if (outformat == 0xe) {\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar1 = "bad output format specified for outfile\n";\n    }\n  }" { (if_statement "if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;" if (parenthesized_expression "(local_3c != 0 || local_44 != 0)" ( (binary_expression "local_3c != 0 || local_44 != 0" (binary_expression "local_3c != 0" identifier != number_literal) || (binary_expression "local_44 != 0" identifier != number_literal)) )) (goto_statement "goto LAB_00060bf7;" goto statement_identifier ;)) (if_statement "if (outformat == 4) {\n      pSVar4 = s_00;\n      iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00);\nLAB_00060d46:\n      iVar3 = 0;\n      if (iVar2 != 0) goto LAB_00060a84;\n      pcVar1 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (outformat == 0x8005) {\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }\n      if (outformat == 0xe) {\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar1 = "bad output format specified for outfile\n";\n    }" if (parenthesized_expression "(outformat == 4)" ( (binary_expression "outformat == 4" identifier == number_literal) )) (compound_statement "{\n      pSVar4 = s_00;\n      iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00);\nLAB_00060d46:\n      iVar3 = 0;\n      if (iVar2 != 0) goto LAB_00060a84;\n      pcVar1 = "unable to write SSL_SESSION\n";\n    }" { (expression_statement "pSVar4 = s_00;" (assignment_expression "pSVar4 = s_00" identifier = identifier) ;) (expression_statement "iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00);" (assignment_expression "iVar2 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00)" identifier = (call_expression "ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00)" identifier (argument_list "(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)s_00)" ( identifier , identifier , (cast_expression "(uchar *)s_00" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (labeled_statement "LAB_00060d46:\n      iVar3 = 0;" statement_identifier : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;)) (if_statement "if (iVar2 != 0) goto LAB_00060a84;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (expression_statement "pcVar1 = "unable to write SSL_SESSION\n";" (assignment_expression "pcVar1 = "unable to write SSL_SESSION\n"" identifier = (string_literal ""unable to write SSL_SESSION\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      if (outformat == 0x8005) {\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }\n      if (outformat == 0xe) {\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar1 = "bad output format specified for outfile\n";\n    }" else (compound_statement "{\n      if (outformat == 0x8005) {\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }\n      if (outformat == 0xe) {\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar1 = "bad output format specified for outfile\n";\n    }" { (if_statement "if (outformat == 0x8005) {\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }" if (parenthesized_expression "(outformat == 0x8005)" ( (binary_expression "outformat == 0x8005" identifier == number_literal) )) (compound_statement "{\n        iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);\n        goto LAB_00060d46;\n      }" { (expression_statement "iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00);" (assignment_expression "iVar2 = PEM_write_bio_SSL_SESSION(fp,s_00)" identifier = (call_expression "PEM_write_bio_SSL_SESSION(fp,s_00)" identifier (argument_list "(fp,s_00)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_00060d46;" goto statement_identifier ;) })) (if_statement "if (outformat == 0xe) {\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }" if (parenthesized_expression "(outformat == 0xe)" ( (binary_expression "outformat == 0xe" identifier == number_literal) )) (compound_statement "{\n        iVar2 = SSL_SESSION_print_keylog(fp,s_00);\n        goto LAB_00060d46;\n      }" { (expression_statement "iVar2 = SSL_SESSION_print_keylog(fp,s_00);" (assignment_expression "iVar2 = SSL_SESSION_print_keylog(fp,s_00)" identifier = (call_expression "SSL_SESSION_print_keylog(fp,s_00)" identifier (argument_list "(fp,s_00)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_00060d46;" goto statement_identifier ;) })) (labeled_statement "LAB_00060d84:\n      pcVar1 = "bad output format specified for outfile\n";" statement_identifier : (expression_statement "pcVar1 = "bad output format specified for outfile\n";" (assignment_expression "pcVar1 = "bad output format specified for outfile\n"" identifier = (string_literal ""bad output format specified for outfile\n"" " string_content escape_sequence ")) ;)) }))) }) (else_clause "else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (local_44 != 0)) goto LAB_00060a84;\n    if (outformat == 4) {\n      iVar2 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (outformat != 0x8005) goto LAB_00060d84;\n      iVar2 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar2 != 0) goto LAB_00060a84;\n    pcVar1 = "unable to write X509\n";\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar5 = 0;\n  }" else (compound_statement "{\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (local_44 != 0)) goto LAB_00060a84;\n    if (outformat == 4) {\n      iVar2 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (outformat != 0x8005) goto LAB_00060d84;\n      iVar2 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar2 != 0) goto LAB_00060a84;\n    pcVar1 = "unable to write X509\n";\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar5 = 0;\n  }" { (if_statement "if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }" if (parenthesized_expression "(x == (X509 *)0x0)" ( (binary_expression "x == (X509 *)0x0" identifier == (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }" { (expression_statement "BIO_puts(fp,"No certificate present\n");" (call_expression "BIO_puts(fp,"No certificate present\n")" identifier (argument_list "(fp,"No certificate present\n")" ( identifier , (string_literal ""No certificate present\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (expression_statement "X509_print(fp,x);" (call_expression "X509_print(fp,x)" identifier (argument_list "(fp,x)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00060bf7:\n    if ((x == (X509 *)0x0) || (local_44 != 0)) goto LAB_00060a84;" statement_identifier : (if_statement "if ((x == (X509 *)0x0) || (local_44 != 0)) goto LAB_00060a84;" if (parenthesized_expression "((x == (X509 *)0x0) || (local_44 != 0))" ( (binary_expression "(x == (X509 *)0x0) || (local_44 != 0)" (parenthesized_expression "(x == (X509 *)0x0)" ( (binary_expression "x == (X509 *)0x0" identifier == (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;))) (if_statement "if (outformat == 4) {\n      iVar2 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (outformat != 0x8005) goto LAB_00060d84;\n      iVar2 = PEM_write_bio_X509(fp,x);\n    }" if (parenthesized_expression "(outformat == 4)" ( (binary_expression "outformat == 4" identifier == number_literal) )) (compound_statement "{\n      iVar2 = i2d_X509_bio(fp,x);\n    }" { (expression_statement "iVar2 = i2d_X509_bio(fp,x);" (assignment_expression "iVar2 = i2d_X509_bio(fp,x)" identifier = (call_expression "i2d_X509_bio(fp,x)" identifier (argument_list "(fp,x)" ( identifier , identifier )))) ;) }) (else_clause "else {\n      if (outformat != 0x8005) goto LAB_00060d84;\n      iVar2 = PEM_write_bio_X509(fp,x);\n    }" else (compound_statement "{\n      if (outformat != 0x8005) goto LAB_00060d84;\n      iVar2 = PEM_write_bio_X509(fp,x);\n    }" { (if_statement "if (outformat != 0x8005) goto LAB_00060d84;" if (parenthesized_expression "(outformat != 0x8005)" ( (binary_expression "outformat != 0x8005" identifier != number_literal) )) (goto_statement "goto LAB_00060d84;" goto statement_identifier ;)) (expression_statement "iVar2 = PEM_write_bio_X509(fp,x);" (assignment_expression "iVar2 = PEM_write_bio_X509(fp,x)" identifier = (call_expression "PEM_write_bio_X509(fp,x)" identifier (argument_list "(fp,x)" ( identifier , identifier )))) ;) }))) (if_statement "if (iVar2 != 0) goto LAB_00060a84;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (expression_statement "pcVar1 = "unable to write X509\n";" (assignment_expression "pcVar1 = "unable to write X509\n"" identifier = (string_literal ""unable to write X509\n"" " string_content escape_sequence ")) ;) (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) }))) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "BIO_printf((BIO *)bio_err,pcVar1,pSVar4,uVar5);" (call_expression "BIO_printf((BIO *)bio_err,pcVar1,pSVar4,uVar5)" identifier (argument_list "((BIO *)bio_err,pcVar1,pSVar4,uVar5)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier ))) ;) (labeled_statement "LAB_00060a84:\n  BIO_free_all(fp);" statement_identifier : (expression_statement "BIO_free_all(fp);" (call_expression "BIO_free_all(fp)" identifier (argument_list "(fp)" ( identifier ))) ;)) (expression_statement "SSL_SESSION_free(s_00);" (call_expression "SSL_SESSION_free(s_00)" identifier (argument_list "(s_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 "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) (labeled_statement "_L4:\n  local_4c = (uchar *)opt_arg();" statement_identifier : (expression_statement "local_4c = (uchar *)opt_arg();" (assignment_expression "local_4c = (uchar *)opt_arg()" identifier = (cast_expression "(uchar *)opt_arg()" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "opt_arg()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "iVar2 = opt_next();" (assignment_expression "iVar2 = opt_next()" identifier = (call_expression "opt_next()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00060ad0;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00060ad0;" goto statement_identifier ;)) (goto_statement "goto LAB_00060a25;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_00060990(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  BIO *in;\n  SSL_SESSION *pSVar4;\n  X509 *x;\n  size_t sid_ctx_len;\n  char *pcVar5;\n  BIO *fp;\n  int iVar6;\n  int in_GS_OFFSET;\n  char cVar7;\n  undefined4 uVar8;\n  SSL_SESSION **ppSVar9;\n  SSL_SESSION *pSVar10;\n  uchar *sid_ctx;\n  undefined4 uVar11;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  SSL_SESSION *local_28;\n  SSL_SESSION *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar6 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (SSL_SESSION *)0x8005;\n  local_24 = (SSL_SESSION *)0x8005;\n  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  sid_ctx = (uchar *)0x0;\n  local_38 = 0;\n  uVar11 = 0;\nLAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);\n  if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }\nLAB_00060ad0:\n  iVar6 = FUN_00079110();\n  pSVar4 = local_28;\n  if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);\n  if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(pSVar4);\n  if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  cVar7 = local_44 == 0;\n  uVar11 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;\n  pSVar10 = local_24;\n  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);\n  if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }\n  uVar11 = 1;\n  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(pSVar4);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\n  }\n                    \n  FUN_0007d010();\ncode_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();\n  iVar2 = FUN_00078780();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto code_r0x00060a25;\n}\n\n" (function_definition "undefined4 FUN_00060990(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  BIO *in;\n  SSL_SESSION *pSVar4;\n  X509 *x;\n  size_t sid_ctx_len;\n  char *pcVar5;\n  BIO *fp;\n  int iVar6;\n  int in_GS_OFFSET;\n  char cVar7;\n  undefined4 uVar8;\n  SSL_SESSION **ppSVar9;\n  SSL_SESSION *pSVar10;\n  uchar *sid_ctx;\n  undefined4 uVar11;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  SSL_SESSION *local_28;\n  SSL_SESSION *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar6 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (SSL_SESSION *)0x8005;\n  local_24 = (SSL_SESSION *)0x8005;\n  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  sid_ctx = (uchar *)0x0;\n  local_38 = 0;\n  uVar11 = 0;\nLAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);\n  if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }\nLAB_00060ad0:\n  iVar6 = FUN_00079110();\n  pSVar4 = local_28;\n  if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);\n  if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(pSVar4);\n  if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  cVar7 = local_44 == 0;\n  uVar11 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;\n  pSVar10 = local_24;\n  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);\n  if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }\n  uVar11 = 1;\n  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(pSVar4);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\n  }\n                    \n  FUN_0007d010();\ncode_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();\n  iVar2 = FUN_00078780();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto code_r0x00060a25;\n}" type_identifier (function_declarator "FUN_00060990(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  BIO *in;\n  SSL_SESSION *pSVar4;\n  X509 *x;\n  size_t sid_ctx_len;\n  char *pcVar5;\n  BIO *fp;\n  int iVar6;\n  int in_GS_OFFSET;\n  char cVar7;\n  undefined4 uVar8;\n  SSL_SESSION **ppSVar9;\n  SSL_SESSION *pSVar10;\n  uchar *sid_ctx;\n  undefined4 uVar11;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  SSL_SESSION *local_28;\n  SSL_SESSION *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar6 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (SSL_SESSION *)0x8005;\n  local_24 = (SSL_SESSION *)0x8005;\n  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  sid_ctx = (uchar *)0x0;\n  local_38 = 0;\n  uVar11 = 0;\nLAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);\n  if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }\nLAB_00060ad0:\n  iVar6 = FUN_00079110();\n  pSVar4 = local_28;\n  if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);\n  if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(pSVar4);\n  if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  cVar7 = local_44 == 0;\n  uVar11 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;\n  pSVar10 = local_24;\n  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);\n  if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }\n  uVar11 = 1;\n  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(pSVar4);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\n  }\n                    \n  FUN_0007d010();\ncode_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();\n  iVar2 = FUN_00078780();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto code_r0x00060a25;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "BIO *in;" type_identifier (pointer_declarator "*in" * identifier) ;) (declaration "SSL_SESSION *pSVar4;" type_identifier (pointer_declarator "*pSVar4" * identifier) ;) (declaration "X509 *x;" type_identifier (pointer_declarator "*x" * identifier) ;) (declaration "size_t sid_ctx_len;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "BIO *fp;" type_identifier (pointer_declarator "*fp" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "SSL_SESSION **ppSVar9;" type_identifier (pointer_declarator "**ppSVar9" * (pointer_declarator "*ppSVar9" * identifier)) ;) (declaration "SSL_SESSION *pSVar10;" type_identifier (pointer_declarator "*pSVar10" * identifier) ;) (declaration "uchar *sid_ctx;" type_identifier (pointer_declarator "*sid_ctx" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "SSL_SESSION *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "SSL_SESSION *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x6099b;" (assignment_expression "uStack_14 = 0x6099b" 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 = (SSL_SESSION *)0x8005;" (assignment_expression "local_28 = (SSL_SESSION *)0x8005" identifier = (cast_expression "(SSL_SESSION *)0x8005" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = (SSL_SESSION *)0x8005;" (assignment_expression "local_24 = (SSL_SESSION *)0x8005" identifier = (cast_expression "(SSL_SESSION *)0x8005" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);" (assignment_expression "uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60)" identifier = (call_expression "FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60)" identifier (argument_list "(param_1,param_2,&PTR_DAT_000b9b60)" ( identifier , identifier , (pointer_expression "&PTR_DAT_000b9b60" & identifier) )))) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "sid_ctx = (uchar *)0x0;" (assignment_expression "sid_ctx = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);" statement_identifier : (expression_statement "iVar2 = FUN_00078780(sid_ctx,uVar11);" (assignment_expression "iVar2 = FUN_00078780(sid_ctx,uVar11)" identifier = (call_expression "FUN_00078780(sid_ctx,uVar11)" identifier (argument_list "(sid_ctx,uVar11)" ( identifier , identifier )))) ;)) (if_statement "if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }" { (labeled_statement "code_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }" statement_identifier : (switch_statement "switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }" switch (parenthesized_expression "(iVar2)" ( identifier )) (compound_statement "{\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }" { (case_statement "default:\n      goto LAB_00060a18;" default : (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;" case number_literal : (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00079140(&PTR_DAT_000b9b60);" (call_expression "FUN_00079140(&PTR_DAT_000b9b60)" identifier (argument_list "(&PTR_DAT_000b9b60)" ( (pointer_expression "&PTR_DAT_000b9b60" & identifier) ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (case_statement "case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;" case number_literal : (expression_statement "uVar3 = FUN_00078b30();" (assignment_expression "uVar3 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = 2;" (assignment_expression "uVar8 = 2" identifier = number_literal) ;) (expression_statement "ppSVar9 = &local_28;" (assignment_expression "ppSVar9 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;" case number_literal : (expression_statement "uVar3 = FUN_00078b30();" (assignment_expression "uVar3 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = 0x82;" (assignment_expression "uVar8 = 0x82" identifier = number_literal) ;) (expression_statement "ppSVar9 = &local_24;" (assignment_expression "ppSVar9 = &local_24" identifier = (pointer_expression "&local_24" & identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;" case number_literal : (expression_statement "uVar11 = FUN_00078b30();" (assignment_expression "uVar11 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;" case number_literal : (expression_statement "local_38 = FUN_00078b30();" (assignment_expression "local_38 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;" case number_literal : (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = iVar6;" (assignment_expression "local_40 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;" case number_literal : (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_3c = iVar6;" (assignment_expression "local_3c = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;" case number_literal : (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = iVar6;" (assignment_expression "local_44 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;)) (case_statement "case 9:\n      goto code_r0x00060ab8;" case number_literal : (goto_statement "goto code_r0x00060ab8;" goto statement_identifier ;)) (case_statement "case -1:\n      goto LAB_00060a60;" case number_literal : (goto_statement "goto LAB_00060a60;" goto statement_identifier ;)) }))) (expression_statement "iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);" (assignment_expression "iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9)" identifier = (call_expression "FUN_00077fb0(uVar3,uVar8,ppSVar9)" identifier (argument_list "(uVar3,uVar8,ppSVar9)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00060a60;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00060a60;" goto statement_identifier ;)) (goto_statement "goto LAB_00060a18;" goto statement_identifier ;) })) (labeled_statement "LAB_00060ad0:\n  iVar6 = FUN_00079110();" statement_identifier : (expression_statement "iVar6 = FUN_00079110();" (assignment_expression "iVar6 = FUN_00079110()" identifier = (call_expression "FUN_00079110()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pSVar4 = local_28;" (assignment_expression "pSVar4 = local_28" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }" { (labeled_statement "LAB_00060a60:\n    uVar11 = 1;" statement_identifier : (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;)) (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);" (call_expression "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1)" identifier (argument_list "(DAT_000c458c,"%s: Use -help for summary.\n",uVar1)" ( identifier , (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ") , identifier ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (expression_statement "in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);" (assignment_expression "in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28)" identifier = (cast_expression "(BIO *)FUN_00075fa0(uVar11,0x72,local_28)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fa0(uVar11,0x72,local_28)" identifier (argument_list "(uVar11,0x72,local_28)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(in == (BIO *)0x0)" ( (binary_expression "in == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }" { (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (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 "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (if_statement "if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" if (parenthesized_expression "(pSVar4 == (SSL_SESSION *)0x4)" ( (binary_expression "pSVar4 == (SSL_SESSION *)0x4" identifier == (cast_expression "(SSL_SESSION *)0x4" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }" { (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (expression_statement "pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);" (assignment_expression "pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" identifier = (cast_expression "(SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" identifier (argument_list "((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" ( (cast_expression "(xnew *)PTR_SSL_SESSION_new_000bdf38" ( (type_descriptor "xnew *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))))) ;) }) (else_clause "else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" else (compound_statement "{\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" { (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) (expression_statement "pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier = (call_expression "PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" identifier (argument_list "(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" ( identifier , (cast_expression "(SSL_SESSION **)0x0" ( (type_descriptor "SSL_SESSION **" 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) )))) ;) }))) (if_statement "if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(pSVar4 == (SSL_SESSION *)0x0)" ( (binary_expression "pSVar4 == (SSL_SESSION *)0x0" identifier == (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }" { (expression_statement "BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");" (call_expression "BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n")" identifier (argument_list "(DAT_000c458c,"unable to load SSL_SESSION\n")" ( identifier , (string_literal ""unable to load SSL_SESSION\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" identifier (argument_list "(DAT_000c458c)" ( identifier ))) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_free(in);" (call_expression "BIO_free(in)" identifier (argument_list "(in)" ( identifier ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (expression_statement "BIO_free(in);" (call_expression "BIO_free(in)" identifier (argument_list "(in)" ( identifier ))) ;) (expression_statement "x = SSL_SESSION_get0_peer(pSVar4);" (assignment_expression "x = SSL_SESSION_get0_peer(pSVar4)" identifier = (call_expression "SSL_SESSION_get0_peer(pSVar4)" identifier (argument_list "(pSVar4)" ( identifier )))) ;) (if_statement "if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(sid_ctx != (uchar *)0x0)" ( (binary_expression "sid_ctx != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }" { (expression_statement "sid_ctx_len = strlen((char *)sid_ctx);" (assignment_expression "sid_ctx_len = strlen((char *)sid_ctx)" identifier = (call_expression "strlen((char *)sid_ctx)" identifier (argument_list "((char *)sid_ctx)" ( (cast_expression "(char *)sid_ctx" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }" if (parenthesized_expression "(sid_ctx_len < 0x21)" ( (binary_expression "sid_ctx_len < 0x21" identifier < number_literal) )) (compound_statement "{\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }" { (expression_statement "iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);" (assignment_expression "iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len)" identifier = (call_expression "SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len)" identifier (argument_list "(pSVar4,sid_ctx,sid_ctx_len)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_00060b6a;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00060b6a;" goto statement_identifier ;)) (expression_statement "pcVar5 = "Error setting id context\n";" (assignment_expression "pcVar5 = "Error setting id context\n"" identifier = (string_literal ""Error setting id context\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      pcVar5 = "Context too long\n";\n    }" else (compound_statement "{\n      pcVar5 = "Context too long\n";\n    }" { (expression_statement "pcVar5 = "Context too long\n";" (assignment_expression "pcVar5 = "Context too long\n"" identifier = (string_literal ""Context too long\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf(DAT_000c458c,pcVar5);" (call_expression "BIO_printf(DAT_000c458c,pcVar5)" identifier (argument_list "(DAT_000c458c,pcVar5)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (labeled_statement "LAB_00060b6a:\n  cVar7 = local_44 == 0;" statement_identifier : (expression_statement "cVar7 = local_44 == 0;" (assignment_expression "cVar7 = local_44 == 0" identifier = (binary_expression "local_44 == 0" identifier == number_literal)) ;)) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;" if (parenthesized_expression "((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7))" ( (binary_expression "(local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)" (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) && (parenthesized_expression "(fp = (BIO *)0x0, !(bool)cVar7)" ( (comma_expression "fp = (BIO *)0x0, !(bool)cVar7" (assignment_expression "fp = (BIO *)0x0" identifier = (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (unary_expression "!(bool)cVar7" ! (cast_expression "(bool)cVar7" ( (type_descriptor "bool" primitive_type) ) identifier))) ))) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (expression_statement "pSVar10 = local_24;" (assignment_expression "pSVar10 = local_24" identifier = identifier) ;) (expression_statement "fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);" (assignment_expression "fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24)" identifier = (cast_expression "(BIO *)FUN_00075fa0(local_38,0x77,local_24)" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fa0(local_38,0x77,local_24)" identifier (argument_list "(local_38,0x77,local_24)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }" if (parenthesized_expression "(fp == (BIO *)0x0)" ( (binary_expression "fp == (BIO *)0x0" identifier == (cast_expression "(BIO *)0x0" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }" { (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (if_statement "if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }" if (parenthesized_expression "((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0))" ( (binary_expression "(local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)" (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) || (parenthesized_expression "(SSL_SESSION_print(fp,pSVar4), local_3c == 0)" ( (comma_expression "SSL_SESSION_print(fp,pSVar4), local_3c == 0" (call_expression "SSL_SESSION_print(fp,pSVar4)" identifier (argument_list "(fp,pSVar4)" ( identifier , identifier ))) , (binary_expression "local_3c == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }" { (if_statement "if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;" if (parenthesized_expression "(local_3c != 0 || local_44 != 0)" ( (binary_expression "local_3c != 0 || local_44 != 0" (binary_expression "local_3c != 0" identifier != number_literal) || (binary_expression "local_44 != 0" identifier != number_literal)) )) (goto_statement "goto LAB_00060bf7;" goto statement_identifier ;)) (if_statement "if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }" if (parenthesized_expression "(local_24 == (SSL_SESSION *)0x4)" ( (binary_expression "local_24 == (SSL_SESSION *)0x4" identifier == (cast_expression "(SSL_SESSION *)0x4" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }" { (expression_statement "pSVar10 = pSVar4;" (assignment_expression "pSVar10 = pSVar4" identifier = identifier) ;) (expression_statement "iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);" (assignment_expression "iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4)" identifier = (call_expression "ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4)" identifier (argument_list "(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4)" ( identifier , identifier , (cast_expression "(uchar *)pSVar4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (labeled_statement "LAB_00060d46:\n      uVar11 = 0;" statement_identifier : (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;)) (if_statement "if (iVar6 != 0) goto LAB_00060a84;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (expression_statement "pcVar5 = "unable to write SSL_SESSION\n";" (assignment_expression "pcVar5 = "unable to write SSL_SESSION\n"" identifier = (string_literal ""unable to write SSL_SESSION\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }" else (compound_statement "{\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }" { (if_statement "if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }" if (parenthesized_expression "(local_24 == (SSL_SESSION *)0x8005)" ( (binary_expression "local_24 == (SSL_SESSION *)0x8005" identifier == (cast_expression "(SSL_SESSION *)0x8005" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }" { (expression_statement "iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);" (assignment_expression "iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4)" identifier = (call_expression "PEM_write_bio_SSL_SESSION(fp,pSVar4)" identifier (argument_list "(fp,pSVar4)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_00060d46;" goto statement_identifier ;) })) (if_statement "if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }" if (parenthesized_expression "(local_24 == (SSL_SESSION *)0xe)" ( (binary_expression "local_24 == (SSL_SESSION *)0xe" identifier == (cast_expression "(SSL_SESSION *)0xe" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }" { (expression_statement "iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);" (assignment_expression "iVar6 = SSL_SESSION_print_keylog(fp,pSVar4)" identifier = (call_expression "SSL_SESSION_print_keylog(fp,pSVar4)" identifier (argument_list "(fp,pSVar4)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_00060d46;" goto statement_identifier ;) })) (labeled_statement "LAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";" statement_identifier : (expression_statement "pcVar5 = "bad output format specified for outfile\n";" (assignment_expression "pcVar5 = "bad output format specified for outfile\n"" identifier = (string_literal ""bad output format specified for outfile\n"" " string_content escape_sequence ")) ;)) }))) }) (else_clause "else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }" else (compound_statement "{\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }" { (if_statement "if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }" if (parenthesized_expression "(x == (X509 *)0x0)" ( (binary_expression "x == (X509 *)0x0" identifier == (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }" { (expression_statement "BIO_puts(fp,"No certificate present\n");" (call_expression "BIO_puts(fp,"No certificate present\n")" identifier (argument_list "(fp,"No certificate present\n")" ( identifier , (string_literal ""No certificate present\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;) })) (expression_statement "X509_print(fp,x);" (call_expression "X509_print(fp,x)" identifier (argument_list "(fp,x)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;" statement_identifier : (if_statement "if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;" if (parenthesized_expression "((x == (X509 *)0x0) || (cVar7 == '\0'))" ( (binary_expression "(x == (X509 *)0x0) || (cVar7 == '\0')" (parenthesized_expression "(x == (X509 *)0x0)" ( (binary_expression "x == (X509 *)0x0" identifier == (cast_expression "(X509 *)0x0" ( (type_descriptor "X509 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;))) (if_statement "if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }" if (parenthesized_expression "(local_24 == (SSL_SESSION *)0x4)" ( (binary_expression "local_24 == (SSL_SESSION *)0x4" identifier == (cast_expression "(SSL_SESSION *)0x4" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar6 = i2d_X509_bio(fp,x);\n    }" { (expression_statement "iVar6 = i2d_X509_bio(fp,x);" (assignment_expression "iVar6 = i2d_X509_bio(fp,x)" identifier = (call_expression "i2d_X509_bio(fp,x)" identifier (argument_list "(fp,x)" ( identifier , identifier )))) ;) }) (else_clause "else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }" else (compound_statement "{\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }" { (if_statement "if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;" if (parenthesized_expression "(local_24 != (SSL_SESSION *)0x8005)" ( (binary_expression "local_24 != (SSL_SESSION *)0x8005" identifier != (cast_expression "(SSL_SESSION *)0x8005" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00060d84;" goto statement_identifier ;)) (expression_statement "iVar6 = PEM_write_bio_X509(fp,x);" (assignment_expression "iVar6 = PEM_write_bio_X509(fp,x)" identifier = (call_expression "PEM_write_bio_X509(fp,x)" identifier (argument_list "(fp,x)" ( identifier , identifier )))) ;) }))) (if_statement "if (iVar6 != 0) goto LAB_00060a84;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00060a84;" goto statement_identifier ;)) (expression_statement "pcVar5 = "unable to write X509\n";" (assignment_expression "pcVar5 = "unable to write X509\n"" identifier = (string_literal ""unable to write X509\n"" " string_content escape_sequence ")) ;) (expression_statement "pSVar10 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar10 = (SSL_SESSION *)0x0" identifier = (cast_expression "(SSL_SESSION *)0x0" ( (type_descriptor "SSL_SESSION *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) }))) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (expression_statement "BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);" (call_expression "BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1)" identifier (argument_list "(DAT_000c458c,pcVar5,pSVar10,uVar1)" ( identifier , identifier , identifier , identifier ))) ;) (labeled_statement "LAB_00060a84:\n  BIO_free_all(fp);" statement_identifier : (expression_statement "BIO_free_all(fp);" (call_expression "BIO_free_all(fp)" identifier (argument_list "(fp)" ( identifier ))) ;)) (expression_statement "SSL_SESSION_free(pSVar4);" (call_expression "SSL_SESSION_free(pSVar4)" identifier (argument_list "(pSVar4)" ( identifier ))) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\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 uVar11;\n  }" { (return_statement "return uVar11;" return identifier ;) })) (expression_statement "FUN_0007d010();" (call_expression "FUN_0007d010()" identifier (argument_list "()" ( ))) ;) (labeled_statement "code_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();" statement_identifier : (expression_statement "sid_ctx = (uchar *)FUN_00078b30();" (assignment_expression "sid_ctx = (uchar *)FUN_00078b30()" identifier = (cast_expression "(uchar *)FUN_00078b30()" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "iVar2 = FUN_00078780();" (assignment_expression "iVar2 = FUN_00078780()" identifier = (call_expression "FUN_00078780()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00060ad0;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00060ad0;" goto statement_identifier ;)) (goto_statement "goto code_r0x00060a25;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 *)) ) 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 , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement 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 = 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) ))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , 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 ( )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (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 = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = 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) )))) ;) }))) (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 ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = 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 = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (goto_statement goto statement_identifier ;)) (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 (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) }))) }) (else_clause else (compound_statement { (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 ") ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (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 ( IDENT , IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto 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 (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( 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 ( ))) ;) (labeled_statement 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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 FUN_00060990(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  BIO *in;\n  SSL_SESSION *pSVar4;\n  X509 *x;\n  size_t sid_ctx_len;\n  char *pcVar5;\n  BIO *fp;\n  int iVar6;\n  int in_GS_OFFSET;\n  char cVar7;\n  undefined4 uVar8;\n  SSL_SESSION **ppSVar9;\n  SSL_SESSION *pSVar10;\n  uchar *sid_ctx;\n  undefined4 uVar11;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  SSL_SESSION *local_28;\n  SSL_SESSION *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar6 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (SSL_SESSION *)0x8005;\n  local_24 = (SSL_SESSION *)0x8005;\n  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  sid_ctx = (uchar *)0x0;\n  local_38 = 0;\n  uVar11 = 0;\nLAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);\n  if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }\nLAB_00060ad0:\n  iVar6 = FUN_00079110();\n  pSVar4 = local_28;\n  if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);\n  if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(pSVar4);\n  if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  cVar7 = local_44 == 0;\n  uVar11 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;\n  pSVar10 = local_24;\n  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);\n  if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }\n  uVar11 = 1;\n  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(pSVar4);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\n  }\n                    \n  FUN_0007d010();\ncode_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();\n  iVar2 = FUN_00078780();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto code_r0x00060a25;\n}" (type_identifier "undefined4") (function_declarator "FUN_00060990(undefined4 param_1,undefined4 param_2)" (identifier "FUN_00060990") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  BIO *in;\n  SSL_SESSION *pSVar4;\n  X509 *x;\n  size_t sid_ctx_len;\n  char *pcVar5;\n  BIO *fp;\n  int iVar6;\n  int in_GS_OFFSET;\n  char cVar7;\n  undefined4 uVar8;\n  SSL_SESSION **ppSVar9;\n  SSL_SESSION *pSVar10;\n  uchar *sid_ctx;\n  undefined4 uVar11;\n  int local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  SSL_SESSION *local_28;\n  SSL_SESSION *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  iVar6 = 0;\n  uStack_14 = 0x6099b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_28 = (SSL_SESSION *)0x8005;\n  local_24 = (SSL_SESSION *)0x8005;\n  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);\n  local_40 = 0;\n  local_44 = 0;\n  local_3c = 0;\n  sid_ctx = (uchar *)0x0;\n  local_38 = 0;\n  uVar11 = 0;\nLAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);\n  if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }\nLAB_00060ad0:\n  iVar6 = FUN_00079110();\n  pSVar4 = local_28;\n  if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }\n  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);\n  if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }\n  if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }\n  if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }\n  BIO_free(in);\n  x = SSL_SESSION_get0_peer(pSVar4);\n  if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }\nLAB_00060b6a:\n  cVar7 = local_44 == 0;\n  uVar11 = 0;\n  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;\n  pSVar10 = local_24;\n  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);\n  if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }\n  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }\n  uVar11 = 1;\n  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);\nLAB_00060a84:\n  BIO_free_all(fp);\n  SSL_SESSION_free(pSVar4);\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\n  }\n                    \n  FUN_0007d010();\ncode_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();\n  iVar2 = FUN_00078780();\n  if (iVar2 == 0) goto LAB_00060ad0;\n  goto code_r0x00060a25;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "BIO *in;" (type_identifier "BIO") (pointer_declarator "*in" (* "*") (identifier "in")) (; ";")) (declaration "SSL_SESSION *pSVar4;" (type_identifier "SSL_SESSION") (pointer_declarator "*pSVar4" (* "*") (identifier "pSVar4")) (; ";")) (declaration "X509 *x;" (type_identifier "X509") (pointer_declarator "*x" (* "*") (identifier "x")) (; ";")) (declaration "size_t sid_ctx_len;" (primitive_type "size_t") (identifier "sid_ctx_len") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "BIO *fp;" (type_identifier "BIO") (pointer_declarator "*fp" (* "*") (identifier "fp")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "char cVar7;" (primitive_type "char") (identifier "cVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "SSL_SESSION **ppSVar9;" (type_identifier "SSL_SESSION") (pointer_declarator "**ppSVar9" (* "*") (pointer_declarator "*ppSVar9" (* "*") (identifier "ppSVar9"))) (; ";")) (declaration "SSL_SESSION *pSVar10;" (type_identifier "SSL_SESSION") (pointer_declarator "*pSVar10" (* "*") (identifier "pSVar10")) (; ";")) (declaration "uchar *sid_ctx;" (type_identifier "uchar") (pointer_declarator "*sid_ctx" (* "*") (identifier "sid_ctx")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "SSL_SESSION *local_28;" (type_identifier "SSL_SESSION") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "SSL_SESSION *local_24;" (type_identifier "SSL_SESSION") (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 "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x6099b;" (assignment_expression "uStack_14 = 0x6099b" (identifier "uStack_14") (= "=") (number_literal "0x6099b")) (; ";")) (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 = (SSL_SESSION *)0x8005;" (assignment_expression "local_28 = (SSL_SESSION *)0x8005" (identifier "local_28") (= "=") (cast_expression "(SSL_SESSION *)0x8005" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8005"))) (; ";")) (expression_statement "local_24 = (SSL_SESSION *)0x8005;" (assignment_expression "local_24 = (SSL_SESSION *)0x8005" (identifier "local_24") (= "=") (cast_expression "(SSL_SESSION *)0x8005" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8005"))) (; ";")) (expression_statement "uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);" (assignment_expression "uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60)" (identifier "uVar1") (= "=") (call_expression "FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60)" (identifier "FUN_00077e50") (argument_list "(param_1,param_2,&PTR_DAT_000b9b60)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "&PTR_DAT_000b9b60" (& "&") (identifier "PTR_DAT_000b9b60")) () ")")))) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "sid_ctx = (uchar *)0x0;" (assignment_expression "sid_ctx = (uchar *)0x0" (identifier "sid_ctx") (= "=") (cast_expression "(uchar *)0x0" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00060a18:\n  iVar2 = FUN_00078780(sid_ctx,uVar11);" (statement_identifier "LAB_00060a18") (: ":") (expression_statement "iVar2 = FUN_00078780(sid_ctx,uVar11);" (assignment_expression "iVar2 = FUN_00078780(sid_ctx,uVar11)" (identifier "iVar2") (= "=") (call_expression "FUN_00078780(sid_ctx,uVar11)" (identifier "FUN_00078780") (argument_list "(sid_ctx,uVar11)" (( "(") (identifier "sid_ctx") (, ",") (identifier "uVar11") () ")")))) (; ";"))) (if_statement "if (iVar2 != 0) {\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\ncode_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }\n    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);\n    if (iVar2 == 0) goto LAB_00060a60;\n    goto LAB_00060a18;\n  }" ({ "{") (labeled_statement "code_r0x00060a25:\n    switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }" (statement_identifier "code_r0x00060a25") (: ":") (switch_statement "switch(iVar2) {\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }" (switch "switch") (parenthesized_expression "(iVar2)" (( "(") (identifier "iVar2") () ")")) (compound_statement "{\n    default:\n      goto LAB_00060a18;\n    case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;\n    case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;\n    case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;\n    case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;\n    case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;\n    case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;\n    case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;\n    case 9:\n      goto code_r0x00060ab8;\n    case -1:\n      goto LAB_00060a60;\n    }" ({ "{") (case_statement "default:\n      goto LAB_00060a18;" (default "default") (: ":") (goto_statement "goto LAB_00060a18;" (goto "goto") (statement_identifier "LAB_00060a18") (; ";"))) (case_statement "case 1:\n      uVar11 = 0;\n      fp = (BIO *)0x0;\n      pSVar4 = (SSL_SESSION *)0x0;\n      FUN_00079140(&PTR_DAT_000b9b60);\n      goto LAB_00060a84;" (case "case") (number_literal "1") (: ":") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" (identifier "fp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" (identifier "pSVar4") (= "=") (cast_expression "(SSL_SESSION *)0x0" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00079140(&PTR_DAT_000b9b60);" (call_expression "FUN_00079140(&PTR_DAT_000b9b60)" (identifier "FUN_00079140") (argument_list "(&PTR_DAT_000b9b60)" (( "(") (pointer_expression "&PTR_DAT_000b9b60" (& "&") (identifier "PTR_DAT_000b9b60")) () ")"))) (; ";")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";"))) (case_statement "case 2:\n      uVar3 = FUN_00078b30();\n      uVar8 = 2;\n      ppSVar9 = &local_28;\n      break;" (case "case") (number_literal "2") (: ":") (expression_statement "uVar3 = FUN_00078b30();" (assignment_expression "uVar3 = FUN_00078b30()" (identifier "uVar3") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar8 = 2;" (assignment_expression "uVar8 = 2" (identifier "uVar8") (= "=") (number_literal "2")) (; ";")) (expression_statement "ppSVar9 = &local_28;" (assignment_expression "ppSVar9 = &local_28" (identifier "ppSVar9") (= "=") (pointer_expression "&local_28" (& "&") (identifier "local_28"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n      uVar3 = FUN_00078b30();\n      uVar8 = 0x82;\n      ppSVar9 = &local_24;\n      break;" (case "case") (number_literal "3") (: ":") (expression_statement "uVar3 = FUN_00078b30();" (assignment_expression "uVar3 = FUN_00078b30()" (identifier "uVar3") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar8 = 0x82;" (assignment_expression "uVar8 = 0x82" (identifier "uVar8") (= "=") (number_literal "0x82")) (; ";")) (expression_statement "ppSVar9 = &local_24;" (assignment_expression "ppSVar9 = &local_24" (identifier "ppSVar9") (= "=") (pointer_expression "&local_24" (& "&") (identifier "local_24"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n      uVar11 = FUN_00078b30();\n      goto LAB_00060a18;" (case "case") (number_literal "4") (: ":") (expression_statement "uVar11 = FUN_00078b30();" (assignment_expression "uVar11 = FUN_00078b30()" (identifier "uVar11") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (goto_statement "goto LAB_00060a18;" (goto "goto") (statement_identifier "LAB_00060a18") (; ";"))) (case_statement "case 5:\n      local_38 = FUN_00078b30();\n      goto LAB_00060a18;" (case "case") (number_literal "5") (: ":") (expression_statement "local_38 = FUN_00078b30();" (assignment_expression "local_38 = FUN_00078b30()" (identifier "local_38") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (goto_statement "goto LAB_00060a18;" (goto "goto") (statement_identifier "LAB_00060a18") (; ";"))) (case_statement "case 6:\n      iVar6 = iVar6 + 1;\n      local_40 = iVar6;\n      goto LAB_00060a18;" (case "case") (number_literal "6") (: ":") (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_40 = iVar6;" (assignment_expression "local_40 = iVar6" (identifier "local_40") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00060a18;" (goto "goto") (statement_identifier "LAB_00060a18") (; ";"))) (case_statement "case 7:\n      iVar6 = iVar6 + 1;\n      local_3c = iVar6;\n      goto LAB_00060a18;" (case "case") (number_literal "7") (: ":") (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_3c = iVar6;" (assignment_expression "local_3c = iVar6" (identifier "local_3c") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00060a18;" (goto "goto") (statement_identifier "LAB_00060a18") (; ";"))) (case_statement "case 8:\n      iVar6 = iVar6 + 1;\n      local_44 = iVar6;\n      goto LAB_00060a18;" (case "case") (number_literal "8") (: ":") (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_44 = iVar6;" (assignment_expression "local_44 = iVar6" (identifier "local_44") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_00060a18;" (goto "goto") (statement_identifier "LAB_00060a18") (; ";"))) (case_statement "case 9:\n      goto code_r0x00060ab8;" (case "case") (number_literal "9") (: ":") (goto_statement "goto code_r0x00060ab8;" (goto "goto") (statement_identifier "code_r0x00060ab8") (; ";"))) (case_statement "case -1:\n      goto LAB_00060a60;" (case "case") (number_literal "-1") (: ":") (goto_statement "goto LAB_00060a60;" (goto "goto") (statement_identifier "LAB_00060a60") (; ";"))) (} "}")))) (expression_statement "iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);" (assignment_expression "iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9)" (identifier "iVar2") (= "=") (call_expression "FUN_00077fb0(uVar3,uVar8,ppSVar9)" (identifier "FUN_00077fb0") (argument_list "(uVar3,uVar8,ppSVar9)" (( "(") (identifier "uVar3") (, ",") (identifier "uVar8") (, ",") (identifier "ppSVar9") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_00060a60;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00060a60;" (goto "goto") (statement_identifier "LAB_00060a60") (; ";"))) (goto_statement "goto LAB_00060a18;" (goto "goto") (statement_identifier "LAB_00060a18") (; ";")) (} "}"))) (labeled_statement "LAB_00060ad0:\n  iVar6 = FUN_00079110();" (statement_identifier "LAB_00060ad0") (: ":") (expression_statement "iVar6 = FUN_00079110();" (assignment_expression "iVar6 = FUN_00079110()" (identifier "iVar6") (= "=") (call_expression "FUN_00079110()" (identifier "FUN_00079110") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "pSVar4 = local_28;" (assignment_expression "pSVar4 = local_28" (identifier "pSVar4") (= "=") (identifier "local_28")) (; ";")) (if_statement "if (iVar6 != 0) {\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00060a60:\n    uVar11 = 1;\n    pSVar4 = (SSL_SESSION *)0x0;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);\n    goto LAB_00060a84;\n  }" ({ "{") (labeled_statement "LAB_00060a60:\n    uVar11 = 1;" (statement_identifier "LAB_00060a60") (: ":") (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";"))) (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" (identifier "pSVar4") (= "=") (cast_expression "(SSL_SESSION *)0x0" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" (identifier "fp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);" (call_expression "BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"%s: Use -help for summary.\n",uVar1)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""%s: Use -help for summary.\n"" (" """) (string_content "%s: Use -help for summary.") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar1") () ")"))) (; ";")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";")) (} "}"))) (expression_statement "in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);" (assignment_expression "in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28)" (identifier "in") (= "=") (cast_expression "(BIO *)FUN_00075fa0(uVar11,0x72,local_28)" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00075fa0(uVar11,0x72,local_28)" (identifier "FUN_00075fa0") (argument_list "(uVar11,0x72,local_28)" (( "(") (identifier "uVar11") (, ",") (number_literal "0x72") (, ",") (identifier "local_28") () ")"))))) (; ";")) (if_statement "if (in == (BIO *)0x0) {\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }" (if "if") (parenthesized_expression "(in == (BIO *)0x0)" (( "(") (binary_expression "in == (BIO *)0x0" (identifier "in") (== "==") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pSVar4 = (SSL_SESSION *)0x0;\n    uVar11 = 1;\n    BIO_free((BIO *)0x0);\n    fp = (BIO *)0x0;\n    goto LAB_00060a84;\n  }" ({ "{") (expression_statement "pSVar4 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar4 = (SSL_SESSION *)0x0" (identifier "pSVar4") (= "=") (cast_expression "(SSL_SESSION *)0x0" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";")) (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 "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" (identifier "fp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";")) (} "}"))) (if_statement "if (pSVar4 == (SSL_SESSION *)0x4) {\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }\n  else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" (if "if") (parenthesized_expression "(pSVar4 == (SSL_SESSION *)0x4)" (( "(") (binary_expression "pSVar4 == (SSL_SESSION *)0x4" (identifier "pSVar4") (== "==") (cast_expression "(SSL_SESSION *)0x4" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4"))) () ")")) (compound_statement "{\n    uVar1 = 0;\n    pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);\n  }" ({ "{") (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" (identifier "uVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0);" (assignment_expression "pSVar4 = (SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" (identifier "pSVar4") (= "=") (cast_expression "(SSL_SESSION *)\n             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" (identifier "ASN1_d2i_bio") (argument_list "((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,\n                          (void **)0x0)" (( "(") (cast_expression "(xnew *)PTR_SSL_SESSION_new_000bdf38" (( "(") (type_descriptor "xnew *" (type_identifier "xnew") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SSL_SESSION_new_000bdf38")) (, ",") (identifier "PTR_d2i_SSL_SESSION_000bdf74") (, ",") (identifier "in") (, ",") (cast_expression "(void **)0x0" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" (else "else") (compound_statement "{\n    uVar1 = 0;\n    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);\n  }" ({ "{") (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" (identifier "uVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);" (assignment_expression "pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" (identifier "pSVar4") (= "=") (call_expression "PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" (identifier "PEM_read_bio_SSL_SESSION") (argument_list "(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0)" (( "(") (identifier "in") (, ",") (cast_expression "(SSL_SESSION **)0x0" (( "(") (type_descriptor "SSL_SESSION **" (type_identifier "SSL_SESSION") (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")) () ")")))) (; ";")) (} "}")))) (if_statement "if (pSVar4 == (SSL_SESSION *)0x0) {\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }" (if "if") (parenthesized_expression "(pSVar4 == (SSL_SESSION *)0x0)" (( "(") (binary_expression "pSVar4 == (SSL_SESSION *)0x0" (identifier "pSVar4") (== "==") (cast_expression "(SSL_SESSION *)0x0" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");\n    uVar11 = 1;\n    ERR_print_errors(DAT_000c458c);\n    fp = (BIO *)0x0;\n    BIO_free(in);\n    goto LAB_00060a84;\n  }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");" (call_expression "BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"unable to load SSL_SESSION\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""unable to load SSL_SESSION\n"" (" """) (string_content "unable to load SSL_SESSION") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";")) (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 "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" (identifier "fp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "BIO_free(in);" (call_expression "BIO_free(in)" (identifier "BIO_free") (argument_list "(in)" (( "(") (identifier "in") () ")"))) (; ";")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";")) (} "}"))) (expression_statement "BIO_free(in);" (call_expression "BIO_free(in)" (identifier "BIO_free") (argument_list "(in)" (( "(") (identifier "in") () ")"))) (; ";")) (expression_statement "x = SSL_SESSION_get0_peer(pSVar4);" (assignment_expression "x = SSL_SESSION_get0_peer(pSVar4)" (identifier "x") (= "=") (call_expression "SSL_SESSION_get0_peer(pSVar4)" (identifier "SSL_SESSION_get0_peer") (argument_list "(pSVar4)" (( "(") (identifier "pSVar4") () ")")))) (; ";")) (if_statement "if (sid_ctx != (uchar *)0x0) {\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }" (if "if") (parenthesized_expression "(sid_ctx != (uchar *)0x0)" (( "(") (binary_expression "sid_ctx != (uchar *)0x0" (identifier "sid_ctx") (!= "!=") (cast_expression "(uchar *)0x0" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    sid_ctx_len = strlen((char *)sid_ctx);\n    if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }\n    uVar11 = 1;\n    fp = (BIO *)0x0;\n    BIO_printf(DAT_000c458c,pcVar5);\n    goto LAB_00060a84;\n  }" ({ "{") (expression_statement "sid_ctx_len = strlen((char *)sid_ctx);" (assignment_expression "sid_ctx_len = strlen((char *)sid_ctx)" (identifier "sid_ctx_len") (= "=") (call_expression "strlen((char *)sid_ctx)" (identifier "strlen") (argument_list "((char *)sid_ctx)" (( "(") (cast_expression "(char *)sid_ctx" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "sid_ctx")) () ")")))) (; ";")) (if_statement "if (sid_ctx_len < 0x21) {\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }\n    else {\n      pcVar5 = "Context too long\n";\n    }" (if "if") (parenthesized_expression "(sid_ctx_len < 0x21)" (( "(") (binary_expression "sid_ctx_len < 0x21" (identifier "sid_ctx_len") (< "<") (number_literal "0x21")) () ")")) (compound_statement "{\n      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);\n      if (iVar6 != 0) goto LAB_00060b6a;\n      pcVar5 = "Error setting id context\n";\n    }" ({ "{") (expression_statement "iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);" (assignment_expression "iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len)" (identifier "iVar6") (= "=") (call_expression "SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len)" (identifier "SSL_SESSION_set1_id_context") (argument_list "(pSVar4,sid_ctx,sid_ctx_len)" (( "(") (identifier "pSVar4") (, ",") (identifier "sid_ctx") (, ",") (identifier "sid_ctx_len") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_00060b6a;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00060b6a;" (goto "goto") (statement_identifier "LAB_00060b6a") (; ";"))) (expression_statement "pcVar5 = "Error setting id context\n";" (assignment_expression "pcVar5 = "Error setting id context\n"" (identifier "pcVar5") (= "=") (string_literal ""Error setting id context\n"" (" """) (string_content "Error setting id context") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n      pcVar5 = "Context too long\n";\n    }" (else "else") (compound_statement "{\n      pcVar5 = "Context too long\n";\n    }" ({ "{") (expression_statement "pcVar5 = "Context too long\n";" (assignment_expression "pcVar5 = "Context too long\n"" (identifier "pcVar5") (= "=") (string_literal ""Context too long\n"" (" """) (string_content "Context too long") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "fp = (BIO *)0x0;" (assignment_expression "fp = (BIO *)0x0" (identifier "fp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,pcVar5);" (call_expression "BIO_printf(DAT_000c458c,pcVar5)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,pcVar5)" (( "(") (identifier "DAT_000c458c") (, ",") (identifier "pcVar5") () ")"))) (; ";")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";")) (} "}"))) (labeled_statement "LAB_00060b6a:\n  cVar7 = local_44 == 0;" (statement_identifier "LAB_00060b6a") (: ":") (expression_statement "cVar7 = local_44 == 0;" (assignment_expression "cVar7 = local_44 == 0" (identifier "cVar7") (= "=") (binary_expression "local_44 == 0" (identifier "local_44") (== "==") (number_literal "0"))) (; ";"))) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;" (if "if") (parenthesized_expression "((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7))" (( "(") (binary_expression "(local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)" (parenthesized_expression "(local_40 == 0)" (( "(") (binary_expression "local_40 == 0" (identifier "local_40") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(fp = (BIO *)0x0, !(bool)cVar7)" (( "(") (comma_expression "fp = (BIO *)0x0, !(bool)cVar7" (assignment_expression "fp = (BIO *)0x0" (identifier "fp") (= "=") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (, ",") (unary_expression "!(bool)cVar7" (! "!") (cast_expression "(bool)cVar7" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "cVar7")))) () ")"))) () ")")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";"))) (expression_statement "pSVar10 = local_24;" (assignment_expression "pSVar10 = local_24" (identifier "pSVar10") (= "=") (identifier "local_24")) (; ";")) (expression_statement "fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);" (assignment_expression "fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24)" (identifier "fp") (= "=") (cast_expression "(BIO *)FUN_00075fa0(local_38,0x77,local_24)" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00075fa0(local_38,0x77,local_24)" (identifier "FUN_00075fa0") (argument_list "(local_38,0x77,local_24)" (( "(") (identifier "local_38") (, ",") (number_literal "0x77") (, ",") (identifier "local_24") () ")"))))) (; ";")) (if_statement "if (fp == (BIO *)0x0) {\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }" (if "if") (parenthesized_expression "(fp == (BIO *)0x0)" (( "(") (binary_expression "fp == (BIO *)0x0" (identifier "fp") (== "==") (cast_expression "(BIO *)0x0" (( "(") (type_descriptor "BIO *" (type_identifier "BIO") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar11 = 1;\n    goto LAB_00060a84;\n  }" ({ "{") (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";")) (} "}"))) (if_statement "if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }\n  else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }" (if "if") (parenthesized_expression "((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0))" (( "(") (binary_expression "(local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)" (parenthesized_expression "(local_40 == 0)" (( "(") (binary_expression "local_40 == 0" (identifier "local_40") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(SSL_SESSION_print(fp,pSVar4), local_3c == 0)" (( "(") (comma_expression "SSL_SESSION_print(fp,pSVar4), local_3c == 0" (call_expression "SSL_SESSION_print(fp,pSVar4)" (identifier "SSL_SESSION_print") (argument_list "(fp,pSVar4)" (( "(") (identifier "fp") (, ",") (identifier "pSVar4") () ")"))) (, ",") (binary_expression "local_3c == 0" (identifier "local_3c") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }\n  }" ({ "{") (if_statement "if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;" (if "if") (parenthesized_expression "(local_3c != 0 || local_44 != 0)" (( "(") (binary_expression "local_3c != 0 || local_44 != 0" (binary_expression "local_3c != 0" (identifier "local_3c") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_44 != 0" (identifier "local_44") (!= "!=") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00060bf7;" (goto "goto") (statement_identifier "LAB_00060bf7") (; ";"))) (if_statement "if (local_24 == (SSL_SESSION *)0x4) {\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }\n    else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }" (if "if") (parenthesized_expression "(local_24 == (SSL_SESSION *)0x4)" (( "(") (binary_expression "local_24 == (SSL_SESSION *)0x4" (identifier "local_24") (== "==") (cast_expression "(SSL_SESSION *)0x4" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4"))) () ")")) (compound_statement "{\n      pSVar10 = pSVar4;\n      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);\nLAB_00060d46:\n      uVar11 = 0;\n      if (iVar6 != 0) goto LAB_00060a84;\n      pcVar5 = "unable to write SSL_SESSION\n";\n    }" ({ "{") (expression_statement "pSVar10 = pSVar4;" (assignment_expression "pSVar10 = pSVar4" (identifier "pSVar10") (= "=") (identifier "pSVar4")) (; ";")) (expression_statement "iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);" (assignment_expression "iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4)" (identifier "iVar6") (= "=") (call_expression "ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4)" (identifier "ASN1_i2d_bio") (argument_list "(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4)" (( "(") (identifier "PTR_i2d_SSL_SESSION_000bdfcc") (, ",") (identifier "fp") (, ",") (cast_expression "(uchar *)pSVar4" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pSVar4")) () ")")))) (; ";")) (labeled_statement "LAB_00060d46:\n      uVar11 = 0;" (statement_identifier "LAB_00060d46") (: ":") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (iVar6 != 0) goto LAB_00060a84;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";"))) (expression_statement "pcVar5 = "unable to write SSL_SESSION\n";" (assignment_expression "pcVar5 = "unable to write SSL_SESSION\n"" (identifier "pcVar5") (= "=") (string_literal ""unable to write SSL_SESSION\n"" (" """) (string_content "unable to write SSL_SESSION") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }" (else "else") (compound_statement "{\n      if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }\n      if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }\nLAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";\n    }" ({ "{") (if_statement "if (local_24 == (SSL_SESSION *)0x8005) {\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }" (if "if") (parenthesized_expression "(local_24 == (SSL_SESSION *)0x8005)" (( "(") (binary_expression "local_24 == (SSL_SESSION *)0x8005" (identifier "local_24") (== "==") (cast_expression "(SSL_SESSION *)0x8005" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8005"))) () ")")) (compound_statement "{\n        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);\n        goto LAB_00060d46;\n      }" ({ "{") (expression_statement "iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);" (assignment_expression "iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4)" (identifier "iVar6") (= "=") (call_expression "PEM_write_bio_SSL_SESSION(fp,pSVar4)" (identifier "PEM_write_bio_SSL_SESSION") (argument_list "(fp,pSVar4)" (( "(") (identifier "fp") (, ",") (identifier "pSVar4") () ")")))) (; ";")) (goto_statement "goto LAB_00060d46;" (goto "goto") (statement_identifier "LAB_00060d46") (; ";")) (} "}"))) (if_statement "if (local_24 == (SSL_SESSION *)0xe) {\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }" (if "if") (parenthesized_expression "(local_24 == (SSL_SESSION *)0xe)" (( "(") (binary_expression "local_24 == (SSL_SESSION *)0xe" (identifier "local_24") (== "==") (cast_expression "(SSL_SESSION *)0xe" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xe"))) () ")")) (compound_statement "{\n        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);\n        goto LAB_00060d46;\n      }" ({ "{") (expression_statement "iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);" (assignment_expression "iVar6 = SSL_SESSION_print_keylog(fp,pSVar4)" (identifier "iVar6") (= "=") (call_expression "SSL_SESSION_print_keylog(fp,pSVar4)" (identifier "SSL_SESSION_print_keylog") (argument_list "(fp,pSVar4)" (( "(") (identifier "fp") (, ",") (identifier "pSVar4") () ")")))) (; ";")) (goto_statement "goto LAB_00060d46;" (goto "goto") (statement_identifier "LAB_00060d46") (; ";")) (} "}"))) (labeled_statement "LAB_00060d84:\n      pcVar5 = "bad output format specified for outfile\n";" (statement_identifier "LAB_00060d84") (: ":") (expression_statement "pcVar5 = "bad output format specified for outfile\n";" (assignment_expression "pcVar5 = "bad output format specified for outfile\n"" (identifier "pcVar5") (= "=") (string_literal ""bad output format specified for outfile\n"" (" """) (string_content "bad output format specified for outfile") (escape_sequence "\n") (" """))) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }" (else "else") (compound_statement "{\n    if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }\n    X509_print(fp,x);\nLAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;\n    if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }\n    if (iVar6 != 0) goto LAB_00060a84;\n    pcVar5 = "unable to write X509\n";\n    pSVar10 = (SSL_SESSION *)0x0;\n    uVar1 = 0;\n  }" ({ "{") (if_statement "if (x == (X509 *)0x0) {\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }" (if "if") (parenthesized_expression "(x == (X509 *)0x0)" (( "(") (binary_expression "x == (X509 *)0x0" (identifier "x") (== "==") (cast_expression "(X509 *)0x0" (( "(") (type_descriptor "X509 *" (type_identifier "X509") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      BIO_puts(fp,"No certificate present\n");\n      goto LAB_00060a84;\n    }" ({ "{") (expression_statement "BIO_puts(fp,"No certificate present\n");" (call_expression "BIO_puts(fp,"No certificate present\n")" (identifier "BIO_puts") (argument_list "(fp,"No certificate present\n")" (( "(") (identifier "fp") (, ",") (string_literal ""No certificate present\n"" (" """) (string_content "No certificate present") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";")) (} "}"))) (expression_statement "X509_print(fp,x);" (call_expression "X509_print(fp,x)" (identifier "X509_print") (argument_list "(fp,x)" (( "(") (identifier "fp") (, ",") (identifier "x") () ")"))) (; ";")) (labeled_statement "LAB_00060bf7:\n    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;" (statement_identifier "LAB_00060bf7") (: ":") (if_statement "if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;" (if "if") (parenthesized_expression "((x == (X509 *)0x0) || (cVar7 == '\0'))" (( "(") (binary_expression "(x == (X509 *)0x0) || (cVar7 == '\0')" (parenthesized_expression "(x == (X509 *)0x0)" (( "(") (binary_expression "x == (X509 *)0x0" (identifier "x") (== "==") (cast_expression "(X509 *)0x0" (( "(") (type_descriptor "X509 *" (type_identifier "X509") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";")))) (if_statement "if (local_24 == (SSL_SESSION *)0x4) {\n      iVar6 = i2d_X509_bio(fp,x);\n    }\n    else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }" (if "if") (parenthesized_expression "(local_24 == (SSL_SESSION *)0x4)" (( "(") (binary_expression "local_24 == (SSL_SESSION *)0x4" (identifier "local_24") (== "==") (cast_expression "(SSL_SESSION *)0x4" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4"))) () ")")) (compound_statement "{\n      iVar6 = i2d_X509_bio(fp,x);\n    }" ({ "{") (expression_statement "iVar6 = i2d_X509_bio(fp,x);" (assignment_expression "iVar6 = i2d_X509_bio(fp,x)" (identifier "iVar6") (= "=") (call_expression "i2d_X509_bio(fp,x)" (identifier "i2d_X509_bio") (argument_list "(fp,x)" (( "(") (identifier "fp") (, ",") (identifier "x") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }" (else "else") (compound_statement "{\n      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;\n      iVar6 = PEM_write_bio_X509(fp,x);\n    }" ({ "{") (if_statement "if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;" (if "if") (parenthesized_expression "(local_24 != (SSL_SESSION *)0x8005)" (( "(") (binary_expression "local_24 != (SSL_SESSION *)0x8005" (identifier "local_24") (!= "!=") (cast_expression "(SSL_SESSION *)0x8005" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8005"))) () ")")) (goto_statement "goto LAB_00060d84;" (goto "goto") (statement_identifier "LAB_00060d84") (; ";"))) (expression_statement "iVar6 = PEM_write_bio_X509(fp,x);" (assignment_expression "iVar6 = PEM_write_bio_X509(fp,x)" (identifier "iVar6") (= "=") (call_expression "PEM_write_bio_X509(fp,x)" (identifier "PEM_write_bio_X509") (argument_list "(fp,x)" (( "(") (identifier "fp") (, ",") (identifier "x") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar6 != 0) goto LAB_00060a84;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00060a84;" (goto "goto") (statement_identifier "LAB_00060a84") (; ";"))) (expression_statement "pcVar5 = "unable to write X509\n";" (assignment_expression "pcVar5 = "unable to write X509\n"" (identifier "pcVar5") (= "=") (string_literal ""unable to write X509\n"" (" """) (string_content "unable to write X509") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "pSVar10 = (SSL_SESSION *)0x0;" (assignment_expression "pSVar10 = (SSL_SESSION *)0x0" (identifier "pSVar10") (= "=") (cast_expression "(SSL_SESSION *)0x0" (( "(") (type_descriptor "SSL_SESSION *" (type_identifier "SSL_SESSION") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" (identifier "uVar1") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);" (call_expression "BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,pcVar5,pSVar10,uVar1)" (( "(") (identifier "DAT_000c458c") (, ",") (identifier "pcVar5") (, ",") (identifier "pSVar10") (, ",") (identifier "uVar1") () ")"))) (; ";")) (labeled_statement "LAB_00060a84:\n  BIO_free_all(fp);" (statement_identifier "LAB_00060a84") (: ":") (expression_statement "BIO_free_all(fp);" (call_expression "BIO_free_all(fp)" (identifier "BIO_free_all") (argument_list "(fp)" (( "(") (identifier "fp") () ")"))) (; ";"))) (expression_statement "SSL_SESSION_free(pSVar4);" (call_expression "SSL_SESSION_free(pSVar4)" (identifier "SSL_SESSION_free") (argument_list "(pSVar4)" (( "(") (identifier "pSVar4") () ")"))) (; ";")) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar11;\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 uVar11;\n  }" ({ "{") (return_statement "return uVar11;" (return "return") (identifier "uVar11") (; ";")) (} "}"))) (expression_statement "FUN_0007d010();" (call_expression "FUN_0007d010()" (identifier "FUN_0007d010") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "code_r0x00060ab8:\n  sid_ctx = (uchar *)FUN_00078b30();" (statement_identifier "code_r0x00060ab8") (: ":") (expression_statement "sid_ctx = (uchar *)FUN_00078b30();" (assignment_expression "sid_ctx = (uchar *)FUN_00078b30()" (identifier "sid_ctx") (= "=") (cast_expression "(uchar *)FUN_00078b30()" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "iVar2 = FUN_00078780();" (assignment_expression "iVar2 = FUN_00078780()" (identifier "iVar2") (= "=") (call_expression "FUN_00078780()" (identifier "FUN_00078780") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_00060ad0;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00060ad0;" (goto "goto") (statement_identifier "LAB_00060ad0") (; ";"))) (goto_statement "goto code_r0x00060a25;" (goto "goto") (statement_identifier "code_r0x00060a25") (; ";")) (} "}")))

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

int function_1(int argc,char **argv)

{
  char *pcVar1;
  int var_4;
  char *s;
  type_1 *var_12;
  type_2 *var_16;
  type_3 *var_32;
  size_t var_21;
  type_1 *var_25;
  int var_7;
  int var_1;
  type_4 flags;
  int *result;
  type_2 *pSVar4;
  type_5 uVar5;
  type_6 *var_19;
  char *local_48;
  int var_24;
  int var_23;
  int var_27;
  char *local_38;
  int informat;
  int var_28;
  int var_39;
  type_5 uStack_14;
  
  var_7 = 0;
  uStack_14 = 0x6099b;
  var_39 = *(int *)(var_1 + 0x14);
  informat = 0x8005;
  var_28 = 0x8005;
  pcVar1 = var_2(argc,argv,(type_7 *)sess_id_options);
  var_23 = 0;
  var_24 = 0;
  var_27 = 0;
  var_19 = (type_6 *)0x0;
  local_38 = (char *)0x0;
  local_48 = (char *)0x0;
_L2:
  var_4 = var_3();
  if (var_4 != 0) {
LAB_00060a25:
    switch(var_4) {
    default:
      goto _L2;
    case 1:
      var_7 = 0;
      var_25 = (type_1 *)0x0;
      var_16 = (type_2 *)0x0;
      var_5((type_7 *)sess_id_options);
      goto LAB_00060a84;
    case 2:
      s = var_6();
      flags = 2;
      result = &informat;
      break;
    case 3:
      s = var_6();
      flags = 0x82;
      result = &var_28;
      break;
    case 4:
      local_48 = var_6();
      goto _L2;
    case 5:
      local_38 = var_6();
      goto _L2;
    case 6:
      var_7 = var_7 + 1;
      var_23 = var_7;
      goto _L2;
    case 7:
      var_7 = var_7 + 1;
      var_27 = var_7;
      goto _L2;
    case 8:
      var_7 = var_7 + 1;
      var_24 = var_7;
      goto _L2;
    case 9:
      goto _L4;
    case -1:
      goto _L14;
    }
    var_4 = var_8(s,flags,result);
    if (var_4 == 0) goto _L14;
    goto _L2;
  }
LAB_00060ad0:
  var_4 = var_9();
  var_7 = informat;
  if (var_4 != 0) {
_L14:
    var_7 = 1;
    var_16 = (type_2 *)0x0;
    var_25 = (type_1 *)0x0;
    var_10((type_1 *)bio_err,"%s: Use -help for summary.\n",pcVar1);
    goto LAB_00060a84;
  }
  var_12 = (type_1 *)var_11(local_48,'r',informat);
  if (var_12 == (type_1 *)0x0) {
    var_16 = (type_2 *)0x0;
    var_7 = 1;
    var_13((type_1 *)0x0);
    var_25 = (type_1 *)0x0;
    goto LAB_00060a84;
  }
  if (var_7 == 4) {
    uVar5 = 0;
    var_16 = (type_2 *)
           var_14((type_8 *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,var_12,
                        (void **)0x0);
  }
  else {
    uVar5 = 0;
    var_16 = var_15(var_12,(type_2 **)0x0,(type_9 *)0x0,(void *)0x0);
  }
  if (var_16 == (type_2 *)0x0) {
    var_10((type_1 *)bio_err,"unable to load SSL_SESSION\n");
    var_7 = 1;
    var_17((type_1 *)bio_err);
    var_25 = (type_1 *)0x0;
    var_13(var_12);
    goto LAB_00060a84;
  }
  var_13(var_12);
  var_32 = var_18(var_16);
  if (var_19 != (type_6 *)0x0) {
    var_21 = var_20((char *)var_19);
    if (var_21 < 0x21) {
      var_7 = var_22(var_16,var_19,var_21);
      if (var_7 != 0) goto LAB_00060b6a;
      pcVar1 = "Error setting id context\n";
    }
    else {
      pcVar1 = "Context too long\n";
    }
    var_7 = 1;
    var_25 = (type_1 *)0x0;
    var_10((type_1 *)bio_err,pcVar1);
    goto LAB_00060a84;
  }
LAB_00060b6a:
  var_7 = 0;
  if ((var_23 == 0) && (var_25 = (type_1 *)0x0, var_24 != 0)) goto LAB_00060a84;
  pSVar4 = (type_2 *)var_28;
  var_25 = (type_1 *)var_11(local_38,'w',var_28);
  if (var_25 == (type_1 *)0x0) {
    var_7 = 1;
    goto LAB_00060a84;
  }
  if ((var_23 == 0) || (var_26(var_25,var_16), var_27 == 0)) {
    if (var_27 != 0 || var_24 != 0) goto LAB_00060bf7;
    if (var_28 == 4) {
      pSVar4 = var_16;
      var_4 = var_29(PTR_i2d_SSL_SESSION_000bdfcc,var_25,(type_6 *)var_16);
LAB_00060d46:
      var_7 = 0;
      if (var_4 != 0) goto LAB_00060a84;
      pcVar1 = "unable to write SSL_SESSION\n";
    }
    else {
      if (var_28 == 0x8005) {
        var_4 = var_30(var_25,var_16);
        goto LAB_00060d46;
      }
      if (var_28 == 0xe) {
        var_4 = var_31(var_25,var_16);
        goto LAB_00060d46;
      }
LAB_00060d84:
      pcVar1 = "bad output format specified for outfile\n";
    }
  }
  else {
    if (var_32 == (type_3 *)0x0) {
      var_33(var_25,"No certificate present\n");
      goto LAB_00060a84;
    }
    var_34(var_25,var_32);
LAB_00060bf7:
    if ((var_32 == (type_3 *)0x0) || (var_24 != 0)) goto LAB_00060a84;
    if (var_28 == 4) {
      var_4 = var_35(var_25,var_32);
    }
    else {
      if (var_28 != 0x8005) goto LAB_00060d84;
      var_4 = var_36(var_25,var_32);
    }
    if (var_4 != 0) goto LAB_00060a84;
    pcVar1 = "unable to write X509\n";
    pSVar4 = (type_2 *)0x0;
    uVar5 = 0;
  }
  var_7 = 1;
  var_10((type_1 *)bio_err,pcVar1,pSVar4,uVar5);
LAB_00060a84:
  var_37(var_25);
  var_38(var_16);
  if (var_39 == *(int *)(var_1 + 0x14)) {
    return var_7;
  }
                    /* WARNING: Subroutine does not return */
  var_40();
_L4:
  var_19 = (type_6 *)var_6();
  var_4 = var_3();
  if (var_4 == 0) goto LAB_00060ad0;
  goto LAB_00060a25;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_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: (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))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier)))) (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) (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: (number_literal))) (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 (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)))) (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: (number_literal))) (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 (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) (identifier) (identifier) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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: (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: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 (identifier) (identifier) (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: (string_literal (string_content) (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))))) (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) consequence: (goto_statement label: (statement_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: (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: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (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: (string_literal (string_content) (escape_sequence))))) alternative: (else_clause (compound_statement (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (goto_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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))))))) alternative: (else_clause (compound_statement (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))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))) consequence: (goto_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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) alternative: (else_clause (compound_statement (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 (identifier) (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: (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 (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))) (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)))))) (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: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))

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

undefined4 MASKED(undefined4 param_1,undefined4 param_2)

{
  undefined4 uVar1;
  int iVar2;
  undefined4 uVar3;
  BIO *in;
  SSL_SESSION *pSVar4;
  X509 *x;
  size_t sid_ctx_len;
  char *pcVar5;
  BIO *fp;
  int iVar6;
  int in_GS_OFFSET;
  char cVar7;
  undefined4 uVar8;
  SSL_SESSION **ppSVar9;
  SSL_SESSION *pSVar10;
  uchar *sid_ctx;
  undefined4 uVar11;
  int local_44;
  int local_40;
  int local_3c;
  undefined4 local_38;
  SSL_SESSION *local_28;
  SSL_SESSION *local_24;
  int local_20;
  undefined4 uStack_14;
  
  iVar6 = 0;
  uStack_14 = 0x6099b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_28 = (SSL_SESSION *)0x8005;
  local_24 = (SSL_SESSION *)0x8005;
  uVar1 = FUN_00077e50(param_1,param_2,&PTR_DAT_000b9b60);
  local_40 = 0;
  local_44 = 0;
  local_3c = 0;
  sid_ctx = (uchar *)0x0;
  local_38 = 0;
  uVar11 = 0;
LAB_00060a18:
  iVar2 = FUN_00078780(sid_ctx,uVar11);
  if (iVar2 != 0) {
code_r0x00060a25:
    switch(iVar2) {
    default:
      goto LAB_00060a18;
    case 1:
      uVar11 = 0;
      fp = (BIO *)0x0;
      pSVar4 = (SSL_SESSION *)0x0;
      FUN_00079140(&PTR_DAT_000b9b60);
      goto LAB_00060a84;
    case 2:
      uVar3 = FUN_00078b30();
      uVar8 = 2;
      ppSVar9 = &local_28;
      break;
    case 3:
      uVar3 = FUN_00078b30();
      uVar8 = 0x82;
      ppSVar9 = &local_24;
      break;
    case 4:
      uVar11 = FUN_00078b30();
      goto LAB_00060a18;
    case 5:
      local_38 = FUN_00078b30();
      goto LAB_00060a18;
    case 6:
      iVar6 = iVar6 + 1;
      local_40 = iVar6;
      goto LAB_00060a18;
    case 7:
      iVar6 = iVar6 + 1;
      local_3c = iVar6;
      goto LAB_00060a18;
    case 8:
      iVar6 = iVar6 + 1;
      local_44 = iVar6;
      goto LAB_00060a18;
    case 9:
      goto code_r0x00060ab8;
    case -1:
      goto LAB_00060a60;
    }
    iVar2 = FUN_00077fb0(uVar3,uVar8,ppSVar9);
    if (iVar2 == 0) goto LAB_00060a60;
    goto LAB_00060a18;
  }
LAB_00060ad0:
  iVar6 = FUN_00079110();
  pSVar4 = local_28;
  if (iVar6 != 0) {
LAB_00060a60:
    uVar11 = 1;
    pSVar4 = (SSL_SESSION *)0x0;
    fp = (BIO *)0x0;
    BIO_printf(DAT_000c458c,"%s: Use -help for summary.\n",uVar1);
    goto LAB_00060a84;
  }
  in = (BIO *)FUN_00075fa0(uVar11,0x72,local_28);
  if (in == (BIO *)0x0) {
    pSVar4 = (SSL_SESSION *)0x0;
    uVar11 = 1;
    BIO_free((BIO *)0x0);
    fp = (BIO *)0x0;
    goto LAB_00060a84;
  }
  if (pSVar4 == (SSL_SESSION *)0x4) {
    uVar1 = 0;
    pSVar4 = (SSL_SESSION *)
             ASN1_d2i_bio((xnew *)PTR_SSL_SESSION_new_000bdf38,PTR_d2i_SSL_SESSION_000bdf74,in,
                          (void **)0x0);
  }
  else {
    uVar1 = 0;
    pSVar4 = PEM_read_bio_SSL_SESSION(in,(SSL_SESSION **)0x0,(undefined1 *)0x0,(void *)0x0);
  }
  if (pSVar4 == (SSL_SESSION *)0x0) {
    BIO_printf(DAT_000c458c,"unable to load SSL_SESSION\n");
    uVar11 = 1;
    ERR_print_errors(DAT_000c458c);
    fp = (BIO *)0x0;
    BIO_free(in);
    goto LAB_00060a84;
  }
  BIO_free(in);
  x = SSL_SESSION_get0_peer(pSVar4);
  if (sid_ctx != (uchar *)0x0) {
    sid_ctx_len = strlen((char *)sid_ctx);
    if (sid_ctx_len < 0x21) {
      iVar6 = SSL_SESSION_set1_id_context(pSVar4,sid_ctx,sid_ctx_len);
      if (iVar6 != 0) goto LAB_00060b6a;
      pcVar5 = "Error setting id context\n";
    }
    else {
      pcVar5 = "Context too long\n";
    }
    uVar11 = 1;
    fp = (BIO *)0x0;
    BIO_printf(DAT_000c458c,pcVar5);
    goto LAB_00060a84;
  }
LAB_00060b6a:
  cVar7 = local_44 == 0;
  uVar11 = 0;
  if ((local_40 == 0) && (fp = (BIO *)0x0, !(bool)cVar7)) goto LAB_00060a84;
  pSVar10 = local_24;
  fp = (BIO *)FUN_00075fa0(local_38,0x77,local_24);
  if (fp == (BIO *)0x0) {
    uVar11 = 1;
    goto LAB_00060a84;
  }
  if ((local_40 == 0) || (SSL_SESSION_print(fp,pSVar4), local_3c == 0)) {
    if (local_3c != 0 || local_44 != 0) goto LAB_00060bf7;
    if (local_24 == (SSL_SESSION *)0x4) {
      pSVar10 = pSVar4;
      iVar6 = ASN1_i2d_bio(PTR_i2d_SSL_SESSION_000bdfcc,fp,(uchar *)pSVar4);
LAB_00060d46:
      uVar11 = 0;
      if (iVar6 != 0) goto LAB_00060a84;
      pcVar5 = "unable to write SSL_SESSION\n";
    }
    else {
      if (local_24 == (SSL_SESSION *)0x8005) {
        iVar6 = PEM_write_bio_SSL_SESSION(fp,pSVar4);
        goto LAB_00060d46;
      }
      if (local_24 == (SSL_SESSION *)0xe) {
        iVar6 = SSL_SESSION_print_keylog(fp,pSVar4);
        goto LAB_00060d46;
      }
LAB_00060d84:
      pcVar5 = "bad output format specified for outfile\n";
    }
  }
  else {
    if (x == (X509 *)0x0) {
      BIO_puts(fp,"No certificate present\n");
      goto LAB_00060a84;
    }
    X509_print(fp,x);
LAB_00060bf7:
    if ((x == (X509 *)0x0) || (cVar7 == '\0')) goto LAB_00060a84;
    if (local_24 == (SSL_SESSION *)0x4) {
      iVar6 = i2d_X509_bio(fp,x);
    }
    else {
      if (local_24 != (SSL_SESSION *)0x8005) goto LAB_00060d84;
      iVar6 = PEM_write_bio_X509(fp,x);
    }
    if (iVar6 != 0) goto LAB_00060a84;
    pcVar5 = "unable to write X509\n";
    pSVar10 = (SSL_SESSION *)0x0;
    uVar1 = 0;
  }
  uVar11 = 1;
  BIO_printf(DAT_000c458c,pcVar5,pSVar10,uVar1);
LAB_00060a84:
  BIO_free_all(fp);
  SSL_SESSION_free(pSVar4);
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar11;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0007d010();
code_r0x00060ab8:
  sid_ctx = (uchar *)FUN_00078b30();
  iVar2 = FUN_00078780();
  if (iVar2 == 0) goto LAB_00060ad0;
  goto code_r0x00060a25;
}

