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

X509_STORE * setup_verify(char *CAfile,char *CApath,int noCAfile,int noCApath)

{
  X509_STORE *v;
  X509_LOOKUP_METHOD *pXVar1;
  X509_LOOKUP *pXVar2;
  int iVar3;
  char *format;
  
  v = X509_STORE_new();
  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;
  if ((CAfile == (char *)0x0) && (noCAfile != 0)) goto LAB_0007a35d;
  pXVar1 = X509_LOOKUP_file();
  pXVar2 = X509_STORE_add_lookup(v,pXVar1);
  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;
  if (CAfile == (char *)0x0) {
    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);
LAB_0007a35d:
    if ((CApath == (char *)0x0) && (noCApath != 0)) goto LAB_0007a369;
    pXVar1 = X509_LOOKUP_hash_dir();
    pXVar2 = X509_STORE_add_lookup(v,pXVar1);
    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;
    if (CApath == (char *)0x0) {
      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);
LAB_0007a369:
      ERR_clear_error();
      return (X509_STORE *)v;
    }
    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,CApath,1,(char **)0x0);
    if (iVar3 != 0) goto LAB_0007a369;
    format = "Error loading directory %s\n";
  }
  else {
    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0);
    if (iVar3 != 0) goto LAB_0007a35d;
    format = "Error loading file %s\n";
    CApath = CAfile;
  }
  BIO_printf((BIO *)bio_err,format,CApath);
LAB_0007a3d0:
  X509_STORE_free(v);
  return (X509_STORE *)0x0;
}



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

X509_STORE * FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)

{
  X509_STORE *v;
  X509_LOOKUP_METHOD *pXVar1;
  X509_LOOKUP *pXVar2;
  int iVar3;
  char *format;
  
  v = X509_STORE_new();
  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;
  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;
  pXVar1 = X509_LOOKUP_file();
  pXVar2 = X509_STORE_add_lookup(v,pXVar1);
  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;
  if (param_1 == (char *)0x0) {
    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);
LAB_0007a35d:
    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;
    pXVar1 = X509_LOOKUP_hash_dir();
    pXVar2 = X509_STORE_add_lookup(v,pXVar1);
    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;
    if (param_2 == (char *)0x0) {
      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);
LAB_0007a369:
      ERR_clear_error();
      return v;
    }
    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);
    if (iVar3 != 0) goto LAB_0007a369;
    format = "Error loading directory %s\n";
  }
  else {
    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);
    if (iVar3 != 0) goto LAB_0007a35d;
    format = "Error loading file %s\n";
    param_2 = param_1;
  }
  BIO_printf(DAT_000cc58c,format,param_2);
LAB_0007a3d0:
  X509_STORE_free(v);
  return (X509_STORE *)0x0;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0002c850
ADD EBX,0x4a74f
SUB ESP,0xc
MOV EBP,dword ptr [ESP + 0x20]
MOV EDI,dword ptr [ESP + 0x24]
CALL 0x00028830
MOV ESI,EAX
TEST EAX,EAX
JZ 0x0007a3d0
TEST EBP,EBP
JNZ 0x0007a3f0
MOV EDX,dword ptr [ESP + 0x28]
TEST EDX,EDX
JZ 0x0007a3f0
TEST EDI,EDI
JNZ 0x0007a380
MOV EAX,dword ptr [ESP + 0x2c]
TEST EAX,EAX
JZ 0x0007a380
CALL 0x00027d00
ADD ESP,0xc
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
CALL 0x00029cc0
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x0002a180
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0007a3d0
TEST EDI,EDI
JZ 0x0007a458
SUB ESP,0xc
PUSH 0x0
PUSH 0x1
PUSH EDI
PUSH 0x2
PUSH EAX
CALL 0x00027ea0
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x0007a369
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd1745]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0x7b14]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
XOR ESI,ESI
CALL 0x0002b550
ADD ESP,0x10
MOV EAX,ESI
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
CALL 0x00028be0
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x0002a180
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0007a3d0
TEST EBP,EBP
JZ 0x0007a438
SUB ESP,0xc
PUSH 0x0
PUSH 0x1
PUSH EBP
PUSH 0x1
PUSH EAX
CALL 0x00027ea0
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x0007a35d
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd1761]
PUSH EBP
JMP 0x0007a3bf
SUB ESP,0xc
PUSH 0x0
PUSH 0x3
PUSH 0x0
PUSH 0x1
PUSH EAX
CALL 0x00027ea0
ADD ESP,0x20
JMP 0x0007a35d
SUB ESP,0xc
PUSH 0x0
PUSH 0x3
PUSH 0x0
PUSH 0x2
PUSH EAX
CALL 0x00027ea0
ADD ESP,0x20
JMP 0x0007a369
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nX509_STORE * FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)\n\n{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }\n  BIO_printf(DAT_000cc58c,format,param_2);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}\n\n" comment (function_definition "X509_STORE * FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)\n\n{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }\n  BIO_printf(DAT_000cc58c,format,param_2);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}" type_identifier (pointer_declarator "* FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)" * (function_declarator "FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)" identifier (parameter_list "(char *param_1,char *param_2,int param_3,int param_4)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) )))) (compound_statement "{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }\n  BIO_printf(DAT_000cc58c,format,param_2);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}" { (declaration "X509_STORE *v;" type_identifier (pointer_declarator "*v" * identifier) ;) (declaration "X509_LOOKUP_METHOD *pXVar1;" type_identifier (pointer_declarator "*pXVar1" * identifier) ;) (declaration "X509_LOOKUP *pXVar2;" type_identifier (pointer_declarator "*pXVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (expression_statement "v = X509_STORE_new();" (assignment_expression "v = X509_STORE_new()" identifier = (call_expression "X509_STORE_new()" identifier (argument_list "()" ( )))) ;) (if_statement "if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;" if (parenthesized_expression "(v == (X509_STORE *)0x0)" ( (binary_expression "v == (X509_STORE *)0x0" identifier == (cast_expression "(X509_STORE *)0x0" ( (type_descriptor "X509_STORE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007a3d0;" goto statement_identifier ;)) (if_statement "if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;" if (parenthesized_expression "((param_1 == (char *)0x0) && (param_3 != 0))" ( (binary_expression "(param_1 == (char *)0x0) && (param_3 != 0)" (parenthesized_expression "(param_1 == (char *)0x0)" ( (binary_expression "param_1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_0007a35d;" goto statement_identifier ;)) (expression_statement "pXVar1 = X509_LOOKUP_file();" (assignment_expression "pXVar1 = X509_LOOKUP_file()" identifier = (call_expression "X509_LOOKUP_file()" identifier (argument_list "()" ( )))) ;) (expression_statement "pXVar2 = X509_STORE_add_lookup(v,pXVar1);" (assignment_expression "pXVar2 = X509_STORE_add_lookup(v,pXVar1)" identifier = (call_expression "X509_STORE_add_lookup(v,pXVar1)" identifier (argument_list "(v,pXVar1)" ( identifier , identifier )))) ;) (if_statement "if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;" if (parenthesized_expression "(pXVar2 == (X509_LOOKUP *)0x0)" ( (binary_expression "pXVar2 == (X509_LOOKUP *)0x0" identifier == (cast_expression "(X509_LOOKUP *)0x0" ( (type_descriptor "X509_LOOKUP *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007a3d0;" goto statement_identifier ;)) (if_statement "if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }" if (parenthesized_expression "(param_1 == (char *)0x0)" ( (binary_expression "param_1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }" { (expression_statement "X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);" (call_expression "X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0)" identifier (argument_list "(pXVar2,1,(char *)0x0,3,(char **)0x0)" ( identifier , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (labeled_statement "LAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;" statement_identifier : (if_statement "if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;" if (parenthesized_expression "((param_2 == (char *)0x0) && (param_4 != 0))" ( (binary_expression "(param_2 == (char *)0x0) && (param_4 != 0)" (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_0007a369;" goto statement_identifier ;))) (expression_statement "pXVar1 = X509_LOOKUP_hash_dir();" (assignment_expression "pXVar1 = X509_LOOKUP_hash_dir()" identifier = (call_expression "X509_LOOKUP_hash_dir()" identifier (argument_list "()" ( )))) ;) (expression_statement "pXVar2 = X509_STORE_add_lookup(v,pXVar1);" (assignment_expression "pXVar2 = X509_STORE_add_lookup(v,pXVar1)" identifier = (call_expression "X509_STORE_add_lookup(v,pXVar1)" identifier (argument_list "(v,pXVar1)" ( identifier , identifier )))) ;) (if_statement "if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;" if (parenthesized_expression "(pXVar2 == (X509_LOOKUP *)0x0)" ( (binary_expression "pXVar2 == (X509_LOOKUP *)0x0" identifier == (cast_expression "(X509_LOOKUP *)0x0" ( (type_descriptor "X509_LOOKUP *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007a3d0;" goto statement_identifier ;)) (if_statement "if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }" if (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }" { (expression_statement "X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);" (call_expression "X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0)" identifier (argument_list "(pXVar2,2,(char *)0x0,3,(char **)0x0)" ( identifier , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (labeled_statement "LAB_0007a369:\n      ERR_clear_error();" statement_identifier : (expression_statement "ERR_clear_error();" (call_expression "ERR_clear_error()" identifier (argument_list "()" ( ))) ;)) (return_statement "return v;" return identifier ;) })) (expression_statement "iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);" (assignment_expression "iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0)" identifier = (call_expression "X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0)" identifier (argument_list "(pXVar2,2,param_2,1,(char **)0x0)" ( identifier , number_literal , identifier , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0007a369;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0007a369;" goto statement_identifier ;)) (expression_statement "format = "Error loading directory %s\n";" (assignment_expression "format = "Error loading directory %s\n"" identifier = (string_literal ""Error loading directory %s\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }" else (compound_statement "{\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }" { (expression_statement "iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);" (assignment_expression "iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0)" identifier = (call_expression "X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0)" identifier (argument_list "(pXVar2,1,param_1,1,(char **)0x0)" ( identifier , number_literal , identifier , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0007a35d;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0007a35d;" goto statement_identifier ;)) (expression_statement "format = "Error loading file %s\n";" (assignment_expression "format = "Error loading file %s\n"" identifier = (string_literal ""Error loading file %s\n"" " string_content escape_sequence ")) ;) (expression_statement "param_2 = param_1;" (assignment_expression "param_2 = param_1" identifier = identifier) ;) }))) (expression_statement "BIO_printf(DAT_000cc58c,format,param_2);" (call_expression "BIO_printf(DAT_000cc58c,format,param_2)" identifier (argument_list "(DAT_000cc58c,format,param_2)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_0007a3d0:\n  X509_STORE_free(v);" statement_identifier : (expression_statement "X509_STORE_free(v);" (call_expression "X509_STORE_free(v)" identifier (argument_list "(v)" ( identifier ))) ;)) (return_statement "return (X509_STORE *)0x0;" return (cast_expression "(X509_STORE *)0x0" ( (type_descriptor "X509_STORE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nX509_STORE * setup_verify(char *CAfile,char *CApath,int noCAfile,int noCApath)\n\n{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((CAfile == (char *)0x0) && (noCAfile != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (CAfile == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((CApath == (char *)0x0) && (noCApath != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (CApath == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return (X509_STORE *)v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,CApath,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    CApath = CAfile;\n  }\n  BIO_printf((BIO *)bio_err,format,CApath);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}\n\n" comment comment (function_definition "X509_STORE * setup_verify(char *CAfile,char *CApath,int noCAfile,int noCApath)\n\n{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((CAfile == (char *)0x0) && (noCAfile != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (CAfile == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((CApath == (char *)0x0) && (noCApath != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (CApath == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return (X509_STORE *)v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,CApath,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    CApath = CAfile;\n  }\n  BIO_printf((BIO *)bio_err,format,CApath);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}" type_identifier (pointer_declarator "* setup_verify(char *CAfile,char *CApath,int noCAfile,int noCApath)" * (function_declarator "setup_verify(char *CAfile,char *CApath,int noCAfile,int noCApath)" identifier (parameter_list "(char *CAfile,char *CApath,int noCAfile,int noCApath)" ( (parameter_declaration "char *CAfile" primitive_type (pointer_declarator "*CAfile" * identifier)) , (parameter_declaration "char *CApath" primitive_type (pointer_declarator "*CApath" * identifier)) , (parameter_declaration "int noCAfile" primitive_type identifier) , (parameter_declaration "int noCApath" primitive_type identifier) )))) (compound_statement "{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((CAfile == (char *)0x0) && (noCAfile != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (CAfile == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((CApath == (char *)0x0) && (noCApath != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (CApath == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return (X509_STORE *)v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,CApath,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    CApath = CAfile;\n  }\n  BIO_printf((BIO *)bio_err,format,CApath);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}" { (declaration "X509_STORE *v;" type_identifier (pointer_declarator "*v" * identifier) ;) (declaration "X509_LOOKUP_METHOD *pXVar1;" type_identifier (pointer_declarator "*pXVar1" * identifier) ;) (declaration "X509_LOOKUP *pXVar2;" type_identifier (pointer_declarator "*pXVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (expression_statement "v = X509_STORE_new();" (assignment_expression "v = X509_STORE_new()" identifier = (call_expression "X509_STORE_new()" identifier (argument_list "()" ( )))) ;) (if_statement "if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;" if (parenthesized_expression "(v == (X509_STORE *)0x0)" ( (binary_expression "v == (X509_STORE *)0x0" identifier == (cast_expression "(X509_STORE *)0x0" ( (type_descriptor "X509_STORE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007a3d0;" goto statement_identifier ;)) (if_statement "if ((CAfile == (char *)0x0) && (noCAfile != 0)) goto LAB_0007a35d;" if (parenthesized_expression "((CAfile == (char *)0x0) && (noCAfile != 0))" ( (binary_expression "(CAfile == (char *)0x0) && (noCAfile != 0)" (parenthesized_expression "(CAfile == (char *)0x0)" ( (binary_expression "CAfile == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(noCAfile != 0)" ( (binary_expression "noCAfile != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_0007a35d;" goto statement_identifier ;)) (expression_statement "pXVar1 = X509_LOOKUP_file();" (assignment_expression "pXVar1 = X509_LOOKUP_file()" identifier = (call_expression "X509_LOOKUP_file()" identifier (argument_list "()" ( )))) ;) (expression_statement "pXVar2 = X509_STORE_add_lookup(v,pXVar1);" (assignment_expression "pXVar2 = X509_STORE_add_lookup(v,pXVar1)" identifier = (call_expression "X509_STORE_add_lookup(v,pXVar1)" identifier (argument_list "(v,pXVar1)" ( identifier , identifier )))) ;) (if_statement "if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;" if (parenthesized_expression "(pXVar2 == (X509_LOOKUP *)0x0)" ( (binary_expression "pXVar2 == (X509_LOOKUP *)0x0" identifier == (cast_expression "(X509_LOOKUP *)0x0" ( (type_descriptor "X509_LOOKUP *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007a3d0;" goto statement_identifier ;)) (if_statement "if (CAfile == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((CApath == (char *)0x0) && (noCApath != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (CApath == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return (X509_STORE *)v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,CApath,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    CApath = CAfile;\n  }" if (parenthesized_expression "(CAfile == (char *)0x0)" ( (binary_expression "CAfile == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((CApath == (char *)0x0) && (noCApath != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (CApath == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return (X509_STORE *)v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,CApath,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }" { (expression_statement "X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);" (call_expression "X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0)" identifier (argument_list "(pXVar2,1,(char *)0x0,3,(char **)0x0)" ( identifier , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (labeled_statement "LAB_0007a35d:\n    if ((CApath == (char *)0x0) && (noCApath != 0)) goto LAB_0007a369;" statement_identifier : (if_statement "if ((CApath == (char *)0x0) && (noCApath != 0)) goto LAB_0007a369;" if (parenthesized_expression "((CApath == (char *)0x0) && (noCApath != 0))" ( (binary_expression "(CApath == (char *)0x0) && (noCApath != 0)" (parenthesized_expression "(CApath == (char *)0x0)" ( (binary_expression "CApath == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(noCApath != 0)" ( (binary_expression "noCApath != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_0007a369;" goto statement_identifier ;))) (expression_statement "pXVar1 = X509_LOOKUP_hash_dir();" (assignment_expression "pXVar1 = X509_LOOKUP_hash_dir()" identifier = (call_expression "X509_LOOKUP_hash_dir()" identifier (argument_list "()" ( )))) ;) (expression_statement "pXVar2 = X509_STORE_add_lookup(v,pXVar1);" (assignment_expression "pXVar2 = X509_STORE_add_lookup(v,pXVar1)" identifier = (call_expression "X509_STORE_add_lookup(v,pXVar1)" identifier (argument_list "(v,pXVar1)" ( identifier , identifier )))) ;) (if_statement "if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;" if (parenthesized_expression "(pXVar2 == (X509_LOOKUP *)0x0)" ( (binary_expression "pXVar2 == (X509_LOOKUP *)0x0" identifier == (cast_expression "(X509_LOOKUP *)0x0" ( (type_descriptor "X509_LOOKUP *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007a3d0;" goto statement_identifier ;)) (if_statement "if (CApath == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return (X509_STORE *)v;\n    }" if (parenthesized_expression "(CApath == (char *)0x0)" ( (binary_expression "CApath == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return (X509_STORE *)v;\n    }" { (expression_statement "X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);" (call_expression "X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0)" identifier (argument_list "(pXVar2,2,(char *)0x0,3,(char **)0x0)" ( identifier , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (labeled_statement "LAB_0007a369:\n      ERR_clear_error();" statement_identifier : (expression_statement "ERR_clear_error();" (call_expression "ERR_clear_error()" identifier (argument_list "()" ( ))) ;)) (return_statement "return (X509_STORE *)v;" return (cast_expression "(X509_STORE *)v" ( (type_descriptor "X509_STORE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ;) })) (expression_statement "iVar3 = X509_LOOKUP_ctrl(pXVar2,2,CApath,1,(char **)0x0);" (assignment_expression "iVar3 = X509_LOOKUP_ctrl(pXVar2,2,CApath,1,(char **)0x0)" identifier = (call_expression "X509_LOOKUP_ctrl(pXVar2,2,CApath,1,(char **)0x0)" identifier (argument_list "(pXVar2,2,CApath,1,(char **)0x0)" ( identifier , number_literal , identifier , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0007a369;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0007a369;" goto statement_identifier ;)) (expression_statement "format = "Error loading directory %s\n";" (assignment_expression "format = "Error loading directory %s\n"" identifier = (string_literal ""Error loading directory %s\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    CApath = CAfile;\n  }" else (compound_statement "{\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    CApath = CAfile;\n  }" { (expression_statement "iVar3 = X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0);" (assignment_expression "iVar3 = X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0)" identifier = (call_expression "X509_LOOKUP_ctrl(pXVar2,1,CAfile,1,(char **)0x0)" identifier (argument_list "(pXVar2,1,CAfile,1,(char **)0x0)" ( identifier , number_literal , identifier , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0007a35d;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0007a35d;" goto statement_identifier ;)) (expression_statement "format = "Error loading file %s\n";" (assignment_expression "format = "Error loading file %s\n"" identifier = (string_literal ""Error loading file %s\n"" " string_content escape_sequence ")) ;) (expression_statement "CApath = CAfile;" (assignment_expression "CApath = CAfile" identifier = identifier) ;) }))) (expression_statement "BIO_printf((BIO *)bio_err,format,CApath);" (call_expression "BIO_printf((BIO *)bio_err,format,CApath)" identifier (argument_list "((BIO *)bio_err,format,CApath)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_0007a3d0:\n  X509_STORE_free(v);" statement_identifier : (expression_statement "X509_STORE_free(v);" (call_expression "X509_STORE_free(v)" identifier (argument_list "(v)" ( identifier ))) ;)) (return_statement "return (X509_STORE *)0x0;" return (cast_expression "(X509_STORE *)0x0" ( (type_descriptor "X509_STORE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "X509_STORE * FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)\n\n{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }\n  BIO_printf(DAT_000cc58c,format,param_2);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}\n\n" (function_definition "X509_STORE * FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)\n\n{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }\n  BIO_printf(DAT_000cc58c,format,param_2);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}" type_identifier (pointer_declarator "* FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)" * (function_declarator "FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)" identifier (parameter_list "(char *param_1,char *param_2,int param_3,int param_4)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) )))) (compound_statement "{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }\n  BIO_printf(DAT_000cc58c,format,param_2);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}" { (declaration "X509_STORE *v;" type_identifier (pointer_declarator "*v" * identifier) ;) (declaration "X509_LOOKUP_METHOD *pXVar1;" type_identifier (pointer_declarator "*pXVar1" * identifier) ;) (declaration "X509_LOOKUP *pXVar2;" type_identifier (pointer_declarator "*pXVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (expression_statement "v = X509_STORE_new();" (assignment_expression "v = X509_STORE_new()" identifier = (call_expression "X509_STORE_new()" identifier (argument_list "()" ( )))) ;) (if_statement "if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;" if (parenthesized_expression "(v == (X509_STORE *)0x0)" ( (binary_expression "v == (X509_STORE *)0x0" identifier == (cast_expression "(X509_STORE *)0x0" ( (type_descriptor "X509_STORE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007a3d0;" goto statement_identifier ;)) (if_statement "if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;" if (parenthesized_expression "((param_1 == (char *)0x0) && (param_3 != 0))" ( (binary_expression "(param_1 == (char *)0x0) && (param_3 != 0)" (parenthesized_expression "(param_1 == (char *)0x0)" ( (binary_expression "param_1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_0007a35d;" goto statement_identifier ;)) (expression_statement "pXVar1 = X509_LOOKUP_file();" (assignment_expression "pXVar1 = X509_LOOKUP_file()" identifier = (call_expression "X509_LOOKUP_file()" identifier (argument_list "()" ( )))) ;) (expression_statement "pXVar2 = X509_STORE_add_lookup(v,pXVar1);" (assignment_expression "pXVar2 = X509_STORE_add_lookup(v,pXVar1)" identifier = (call_expression "X509_STORE_add_lookup(v,pXVar1)" identifier (argument_list "(v,pXVar1)" ( identifier , identifier )))) ;) (if_statement "if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;" if (parenthesized_expression "(pXVar2 == (X509_LOOKUP *)0x0)" ( (binary_expression "pXVar2 == (X509_LOOKUP *)0x0" identifier == (cast_expression "(X509_LOOKUP *)0x0" ( (type_descriptor "X509_LOOKUP *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007a3d0;" goto statement_identifier ;)) (if_statement "if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }" if (parenthesized_expression "(param_1 == (char *)0x0)" ( (binary_expression "param_1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }" { (expression_statement "X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);" (call_expression "X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0)" identifier (argument_list "(pXVar2,1,(char *)0x0,3,(char **)0x0)" ( identifier , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (labeled_statement "LAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;" statement_identifier : (if_statement "if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;" if (parenthesized_expression "((param_2 == (char *)0x0) && (param_4 != 0))" ( (binary_expression "(param_2 == (char *)0x0) && (param_4 != 0)" (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_0007a369;" goto statement_identifier ;))) (expression_statement "pXVar1 = X509_LOOKUP_hash_dir();" (assignment_expression "pXVar1 = X509_LOOKUP_hash_dir()" identifier = (call_expression "X509_LOOKUP_hash_dir()" identifier (argument_list "()" ( )))) ;) (expression_statement "pXVar2 = X509_STORE_add_lookup(v,pXVar1);" (assignment_expression "pXVar2 = X509_STORE_add_lookup(v,pXVar1)" identifier = (call_expression "X509_STORE_add_lookup(v,pXVar1)" identifier (argument_list "(v,pXVar1)" ( identifier , identifier )))) ;) (if_statement "if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;" if (parenthesized_expression "(pXVar2 == (X509_LOOKUP *)0x0)" ( (binary_expression "pXVar2 == (X509_LOOKUP *)0x0" identifier == (cast_expression "(X509_LOOKUP *)0x0" ( (type_descriptor "X509_LOOKUP *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007a3d0;" goto statement_identifier ;)) (if_statement "if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }" if (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }" { (expression_statement "X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);" (call_expression "X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0)" identifier (argument_list "(pXVar2,2,(char *)0x0,3,(char **)0x0)" ( identifier , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (labeled_statement "LAB_0007a369:\n      ERR_clear_error();" statement_identifier : (expression_statement "ERR_clear_error();" (call_expression "ERR_clear_error()" identifier (argument_list "()" ( ))) ;)) (return_statement "return v;" return identifier ;) })) (expression_statement "iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);" (assignment_expression "iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0)" identifier = (call_expression "X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0)" identifier (argument_list "(pXVar2,2,param_2,1,(char **)0x0)" ( identifier , number_literal , identifier , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0007a369;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0007a369;" goto statement_identifier ;)) (expression_statement "format = "Error loading directory %s\n";" (assignment_expression "format = "Error loading directory %s\n"" identifier = (string_literal ""Error loading directory %s\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }" else (compound_statement "{\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }" { (expression_statement "iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);" (assignment_expression "iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0)" identifier = (call_expression "X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0)" identifier (argument_list "(pXVar2,1,param_1,1,(char **)0x0)" ( identifier , number_literal , identifier , number_literal , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0007a35d;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0007a35d;" goto statement_identifier ;)) (expression_statement "format = "Error loading file %s\n";" (assignment_expression "format = "Error loading file %s\n"" identifier = (string_literal ""Error loading file %s\n"" " string_content escape_sequence ")) ;) (expression_statement "param_2 = param_1;" (assignment_expression "param_2 = param_1" identifier = identifier) ;) }))) (expression_statement "BIO_printf(DAT_000cc58c,format,param_2);" (call_expression "BIO_printf(DAT_000cc58c,format,param_2)" identifier (argument_list "(DAT_000cc58c,format,param_2)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_0007a3d0:\n  X509_STORE_free(v);" statement_identifier : (expression_statement "X509_STORE_free(v);" (call_expression "X509_STORE_free(v)" identifier (argument_list "(v)" ( identifier ))) ;)) (return_statement "return (X509_STORE *)0x0;" return (cast_expression "(X509_STORE *)0x0" ( (type_descriptor "X509_STORE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (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 != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (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 (call_expression IDENT (argument_list ( IDENT , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) ))) ;) (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 != LIT) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (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 (call_expression IDENT (argument_list ( IDENT , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })))
(function_definition "X509_STORE * FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)\n\n{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }\n  BIO_printf(DAT_000cc58c,format,param_2);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}" (type_identifier "X509_STORE") (pointer_declarator "* FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)" (* "*") (function_declarator "FUN_0007a320(char *param_1,char *param_2,int param_3,int param_4)" (identifier "FUN_0007a320") (parameter_list "(char *param_1,char *param_2,int param_3,int param_4)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")")))) (compound_statement "{\n  X509_STORE *v;\n  X509_LOOKUP_METHOD *pXVar1;\n  X509_LOOKUP *pXVar2;\n  int iVar3;\n  char *format;\n  \n  v = X509_STORE_new();\n  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;\n  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;\n  pXVar1 = X509_LOOKUP_file();\n  pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n  if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }\n  BIO_printf(DAT_000cc58c,format,param_2);\nLAB_0007a3d0:\n  X509_STORE_free(v);\n  return (X509_STORE *)0x0;\n}" ({ "{") (declaration "X509_STORE *v;" (type_identifier "X509_STORE") (pointer_declarator "*v" (* "*") (identifier "v")) (; ";")) (declaration "X509_LOOKUP_METHOD *pXVar1;" (type_identifier "X509_LOOKUP_METHOD") (pointer_declarator "*pXVar1" (* "*") (identifier "pXVar1")) (; ";")) (declaration "X509_LOOKUP *pXVar2;" (type_identifier "X509_LOOKUP") (pointer_declarator "*pXVar2" (* "*") (identifier "pXVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "char *format;" (primitive_type "char") (pointer_declarator "*format" (* "*") (identifier "format")) (; ";")) (expression_statement "v = X509_STORE_new();" (assignment_expression "v = X509_STORE_new()" (identifier "v") (= "=") (call_expression "X509_STORE_new()" (identifier "X509_STORE_new") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;" (if "if") (parenthesized_expression "(v == (X509_STORE *)0x0)" (( "(") (binary_expression "v == (X509_STORE *)0x0" (identifier "v") (== "==") (cast_expression "(X509_STORE *)0x0" (( "(") (type_descriptor "X509_STORE *" (type_identifier "X509_STORE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0007a3d0;" (goto "goto") (statement_identifier "LAB_0007a3d0") (; ";"))) (if_statement "if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;" (if "if") (parenthesized_expression "((param_1 == (char *)0x0) && (param_3 != 0))" (( "(") (binary_expression "(param_1 == (char *)0x0) && (param_3 != 0)" (parenthesized_expression "(param_1 == (char *)0x0)" (( "(") (binary_expression "param_1 == (char *)0x0" (identifier "param_1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0007a35d;" (goto "goto") (statement_identifier "LAB_0007a35d") (; ";"))) (expression_statement "pXVar1 = X509_LOOKUP_file();" (assignment_expression "pXVar1 = X509_LOOKUP_file()" (identifier "pXVar1") (= "=") (call_expression "X509_LOOKUP_file()" (identifier "X509_LOOKUP_file") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pXVar2 = X509_STORE_add_lookup(v,pXVar1);" (assignment_expression "pXVar2 = X509_STORE_add_lookup(v,pXVar1)" (identifier "pXVar2") (= "=") (call_expression "X509_STORE_add_lookup(v,pXVar1)" (identifier "X509_STORE_add_lookup") (argument_list "(v,pXVar1)" (( "(") (identifier "v") (, ",") (identifier "pXVar1") () ")")))) (; ";")) (if_statement "if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;" (if "if") (parenthesized_expression "(pXVar2 == (X509_LOOKUP *)0x0)" (( "(") (binary_expression "pXVar2 == (X509_LOOKUP *)0x0" (identifier "pXVar2") (== "==") (cast_expression "(X509_LOOKUP *)0x0" (( "(") (type_descriptor "X509_LOOKUP *" (type_identifier "X509_LOOKUP") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0007a3d0;" (goto "goto") (statement_identifier "LAB_0007a3d0") (; ";"))) (if_statement "if (param_1 == (char *)0x0) {\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }\n  else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }" (if "if") (parenthesized_expression "(param_1 == (char *)0x0)" (( "(") (binary_expression "param_1 == (char *)0x0" (identifier "param_1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);\nLAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;\n    pXVar1 = X509_LOOKUP_hash_dir();\n    pXVar2 = X509_STORE_add_lookup(v,pXVar1);\n    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;\n    if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a369;\n    format = "Error loading directory %s\n";\n  }" ({ "{") (expression_statement "X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);" (call_expression "X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0)" (identifier "X509_LOOKUP_ctrl") (argument_list "(pXVar2,1,(char *)0x0,3,(char **)0x0)" (( "(") (identifier "pXVar2") (, ",") (number_literal "1") (, ",") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (, ",") (number_literal "3") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) () ")"))) (; ";")) (labeled_statement "LAB_0007a35d:\n    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;" (statement_identifier "LAB_0007a35d") (: ":") (if_statement "if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;" (if "if") (parenthesized_expression "((param_2 == (char *)0x0) && (param_4 != 0))" (( "(") (binary_expression "(param_2 == (char *)0x0) && (param_4 != 0)" (parenthesized_expression "(param_2 == (char *)0x0)" (( "(") (binary_expression "param_2 == (char *)0x0" (identifier "param_2") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0007a369;" (goto "goto") (statement_identifier "LAB_0007a369") (; ";")))) (expression_statement "pXVar1 = X509_LOOKUP_hash_dir();" (assignment_expression "pXVar1 = X509_LOOKUP_hash_dir()" (identifier "pXVar1") (= "=") (call_expression "X509_LOOKUP_hash_dir()" (identifier "X509_LOOKUP_hash_dir") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pXVar2 = X509_STORE_add_lookup(v,pXVar1);" (assignment_expression "pXVar2 = X509_STORE_add_lookup(v,pXVar1)" (identifier "pXVar2") (= "=") (call_expression "X509_STORE_add_lookup(v,pXVar1)" (identifier "X509_STORE_add_lookup") (argument_list "(v,pXVar1)" (( "(") (identifier "v") (, ",") (identifier "pXVar1") () ")")))) (; ";")) (if_statement "if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;" (if "if") (parenthesized_expression "(pXVar2 == (X509_LOOKUP *)0x0)" (( "(") (binary_expression "pXVar2 == (X509_LOOKUP *)0x0" (identifier "pXVar2") (== "==") (cast_expression "(X509_LOOKUP *)0x0" (( "(") (type_descriptor "X509_LOOKUP *" (type_identifier "X509_LOOKUP") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0007a3d0;" (goto "goto") (statement_identifier "LAB_0007a3d0") (; ";"))) (if_statement "if (param_2 == (char *)0x0) {\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }" (if "if") (parenthesized_expression "(param_2 == (char *)0x0)" (( "(") (binary_expression "param_2 == (char *)0x0" (identifier "param_2") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);\nLAB_0007a369:\n      ERR_clear_error();\n      return v;\n    }" ({ "{") (expression_statement "X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);" (call_expression "X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0)" (identifier "X509_LOOKUP_ctrl") (argument_list "(pXVar2,2,(char *)0x0,3,(char **)0x0)" (( "(") (identifier "pXVar2") (, ",") (number_literal "2") (, ",") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (, ",") (number_literal "3") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) () ")"))) (; ";")) (labeled_statement "LAB_0007a369:\n      ERR_clear_error();" (statement_identifier "LAB_0007a369") (: ":") (expression_statement "ERR_clear_error();" (call_expression "ERR_clear_error()" (identifier "ERR_clear_error") (argument_list "()" (( "(") () ")"))) (; ";"))) (return_statement "return v;" (return "return") (identifier "v") (; ";")) (} "}"))) (expression_statement "iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);" (assignment_expression "iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0)" (identifier "iVar3") (= "=") (call_expression "X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0)" (identifier "X509_LOOKUP_ctrl") (argument_list "(pXVar2,2,param_2,1,(char **)0x0)" (( "(") (identifier "pXVar2") (, ",") (number_literal "2") (, ",") (identifier "param_2") (, ",") (number_literal "1") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0007a369;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0007a369;" (goto "goto") (statement_identifier "LAB_0007a369") (; ";"))) (expression_statement "format = "Error loading directory %s\n";" (assignment_expression "format = "Error loading directory %s\n"" (identifier "format") (= "=") (string_literal ""Error loading directory %s\n"" (" """) (string_content "Error loading directory %s") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }" (else "else") (compound_statement "{\n    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);\n    if (iVar3 != 0) goto LAB_0007a35d;\n    format = "Error loading file %s\n";\n    param_2 = param_1;\n  }" ({ "{") (expression_statement "iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);" (assignment_expression "iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0)" (identifier "iVar3") (= "=") (call_expression "X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0)" (identifier "X509_LOOKUP_ctrl") (argument_list "(pXVar2,1,param_1,1,(char **)0x0)" (( "(") (identifier "pXVar2") (, ",") (number_literal "1") (, ",") (identifier "param_1") (, ",") (number_literal "1") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0007a35d;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0007a35d;" (goto "goto") (statement_identifier "LAB_0007a35d") (; ";"))) (expression_statement "format = "Error loading file %s\n";" (assignment_expression "format = "Error loading file %s\n"" (identifier "format") (= "=") (string_literal ""Error loading file %s\n"" (" """) (string_content "Error loading file %s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "param_2 = param_1;" (assignment_expression "param_2 = param_1" (identifier "param_2") (= "=") (identifier "param_1")) (; ";")) (} "}")))) (expression_statement "BIO_printf(DAT_000cc58c,format,param_2);" (call_expression "BIO_printf(DAT_000cc58c,format,param_2)" (identifier "BIO_printf") (argument_list "(DAT_000cc58c,format,param_2)" (( "(") (identifier "DAT_000cc58c") (, ",") (identifier "format") (, ",") (identifier "param_2") () ")"))) (; ";")) (labeled_statement "LAB_0007a3d0:\n  X509_STORE_free(v);" (statement_identifier "LAB_0007a3d0") (: ":") (expression_statement "X509_STORE_free(v);" (call_expression "X509_STORE_free(v)" (identifier "X509_STORE_free") (argument_list "(v)" (( "(") (identifier "v") () ")"))) (; ";"))) (return_statement "return (X509_STORE *)0x0;" (return "return") (cast_expression "(X509_STORE *)0x0" (( "(") (type_descriptor "X509_STORE *" (type_identifier "X509_STORE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))

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

type_1 * function_1(char *var_3,char *var_9,int var_4,int var_10)

{
  type_1 *var_2;
  type_2 *pXVar1;
  type_3 *var_7;
  int var_13;
  char *format;
  
  var_2 = var_1();
  if (var_2 == (type_1 *)0x0) goto LAB_0007a3d0;
  if ((var_3 == (char *)0x0) && (var_4 != 0)) goto LAB_0007a35d;
  pXVar1 = var_5();
  var_7 = var_6(var_2,pXVar1);
  if (var_7 == (type_3 *)0x0) goto LAB_0007a3d0;
  if (var_3 == (char *)0x0) {
    var_8(var_7,1,(char *)0x0,3,(char **)0x0);
LAB_0007a35d:
    if ((var_9 == (char *)0x0) && (var_10 != 0)) goto LAB_0007a369;
    pXVar1 = var_11();
    var_7 = var_6(var_2,pXVar1);
    if (var_7 == (type_3 *)0x0) goto LAB_0007a3d0;
    if (var_9 == (char *)0x0) {
      var_8(var_7,2,(char *)0x0,3,(char **)0x0);
LAB_0007a369:
      var_12();
      return (type_1 *)var_2;
    }
    var_13 = var_8(var_7,2,var_9,1,(char **)0x0);
    if (var_13 != 0) goto LAB_0007a369;
    format = "Error loading directory %s\n";
  }
  else {
    var_13 = var_8(var_7,1,var_3,1,(char **)0x0);
    if (var_13 != 0) goto LAB_0007a35d;
    format = "Error loading file %s\n";
    var_9 = var_3;
  }
  var_14((type_4 *)bio_err,format,var_9);
LAB_0007a3d0:
  var_15(var_2);
  return (type_1 *)0x0;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (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))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) (number_literal) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) (number_literal) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (number_literal) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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 (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (number_literal) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))

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

X509_STORE * MASKED(char *param_1,char *param_2,int param_3,int param_4)

{
  X509_STORE *v;
  X509_LOOKUP_METHOD *pXVar1;
  X509_LOOKUP *pXVar2;
  int iVar3;
  char *format;
  
  v = X509_STORE_new();
  if (v == (X509_STORE *)0x0) goto LAB_0007a3d0;
  if ((param_1 == (char *)0x0) && (param_3 != 0)) goto LAB_0007a35d;
  pXVar1 = X509_LOOKUP_file();
  pXVar2 = X509_STORE_add_lookup(v,pXVar1);
  if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;
  if (param_1 == (char *)0x0) {
    X509_LOOKUP_ctrl(pXVar2,1,(char *)0x0,3,(char **)0x0);
LAB_0007a35d:
    if ((param_2 == (char *)0x0) && (param_4 != 0)) goto LAB_0007a369;
    pXVar1 = X509_LOOKUP_hash_dir();
    pXVar2 = X509_STORE_add_lookup(v,pXVar1);
    if (pXVar2 == (X509_LOOKUP *)0x0) goto LAB_0007a3d0;
    if (param_2 == (char *)0x0) {
      X509_LOOKUP_ctrl(pXVar2,2,(char *)0x0,3,(char **)0x0);
LAB_0007a369:
      ERR_clear_error();
      return v;
    }
    iVar3 = X509_LOOKUP_ctrl(pXVar2,2,param_2,1,(char **)0x0);
    if (iVar3 != 0) goto LAB_0007a369;
    format = "Error loading directory %s\n";
  }
  else {
    iVar3 = X509_LOOKUP_ctrl(pXVar2,1,param_1,1,(char **)0x0);
    if (iVar3 != 0) goto LAB_0007a35d;
    format = "Error loading file %s\n";
    param_2 = param_1;
  }
  BIO_printf(DAT_000cc58c,format,param_2);
LAB_0007a3d0:
  X509_STORE_free(v);
  return (X509_STORE *)0x0;
}

