
int ctx_set_verify_locations(SSL_CTX *ctx,char *CAfile,char *CApath,int noCAfile,int noCApath)

{
  int iVar1;
  uint uVar2;
  
  if (CAfile == (char *)0x0 && CApath == (char *)0x0) {
    if ((noCAfile == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {
      return 0;
    }
    uVar2 = 1;
    if (noCApath == 0) {
      iVar1 = SSL_CTX_set_default_verify_dir(ctx);
      uVar2 = (uint)(0 < iVar1);
    }
  }
  else {
    uVar2 = SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath);
  }
  return uVar2;
}



uint FUN_0017b07a(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)

{
  int iVar1;
  uint uVar2;
  
  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {
    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {
      return 0;
    }
    uVar2 = 1;
    if (param_5 == 0) {
      iVar1 = SSL_CTX_set_default_verify_dir(param_1);
      uVar2 = (uint)(0 < iVar1);
    }
  }
  else {
    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);
  }
  return uVar2;
}


PUSH R12
PUSH RBP
PUSH RBX
MOV RBP,RDI
MOV RAX,RSI
OR RAX,RDX
JNZ 0x0017b0bd
MOV EBX,ECX
MOV R12D,R8D
TEST ECX,ECX
JZ 0x0017b0ae
MOV EAX,0x1
TEST R12D,R12D
JNZ 0x0017b0c2
MOV RDI,RBP
CALL 0x0012ffd0
TEST EAX,EAX
SETG AL
MOVZX EAX,AL
JMP 0x0017b0c2
CALL 0x00130f70
MOV EDX,EAX
MOV EAX,EBX
TEST EDX,EDX
JG 0x0017b092
JMP 0x0017b0c2
CALL 0x0012fff0
POP RBX
POP RBP
POP R12
RET
(translation_unit "uint FUN_0017b07a(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)\n\n{\n  int iVar1;\n  uint uVar2;\n  \n  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }\n  return uVar2;\n}\n\n" (function_definition "uint FUN_0017b07a(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)\n\n{\n  int iVar1;\n  uint uVar2;\n  \n  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }\n  return uVar2;\n}" type_identifier (function_declarator "FUN_0017b07a(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)" identifier (parameter_list "(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)" ( (parameter_declaration "SSL_CTX *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  \n  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }\n  return uVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (if_statement "if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }" if (parenthesized_expression "(param_2 == (char *)0x0 && param_3 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0 && param_3 == (char *)0x0" (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "param_3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }" { (if_statement "if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }" if (parenthesized_expression "((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1))" ( (binary_expression "(param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)" ( (comma_expression "iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1" (assignment_expression "iVar1 = SSL_CTX_set_default_verify_file()" identifier = (call_expression "SSL_CTX_set_default_verify_file()" identifier (argument_list "()" ( )))) , (binary_expression "iVar1 < 1" identifier < number_literal)) ))) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (if_statement "if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }" { (expression_statement "iVar1 = SSL_CTX_set_default_verify_dir(param_1);" (assignment_expression "iVar1 = SSL_CTX_set_default_verify_dir(param_1)" identifier = (call_expression "SSL_CTX_set_default_verify_dir(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar2 = (uint)(0 < iVar1);" (assignment_expression "uVar2 = (uint)(0 < iVar1)" identifier = (call_expression "(uint)(0 < iVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0 < iVar1)" ( (binary_expression "0 < iVar1" number_literal < identifier) )))) ;) })) }) (else_clause "else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }" else (compound_statement "{\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }" { (expression_statement "uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);" (assignment_expression "uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3)" identifier = (call_expression "SSL_CTX_load_verify_locations(param_1,param_2,param_3)" identifier (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) }))) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit "int ctx_set_verify_locations(SSL_CTX *ctx,char *CAfile,char *CApath,int noCAfile,int noCApath)\n\n{\n  int iVar1;\n  uint uVar2;\n  \n  if (CAfile == (char *)0x0 && CApath == (char *)0x0) {\n    if ((noCAfile == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (noCApath == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(ctx);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath);\n  }\n  return uVar2;\n}\n\n" (function_definition "int ctx_set_verify_locations(SSL_CTX *ctx,char *CAfile,char *CApath,int noCAfile,int noCApath)\n\n{\n  int iVar1;\n  uint uVar2;\n  \n  if (CAfile == (char *)0x0 && CApath == (char *)0x0) {\n    if ((noCAfile == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (noCApath == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(ctx);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath);\n  }\n  return uVar2;\n}" primitive_type (function_declarator "ctx_set_verify_locations(SSL_CTX *ctx,char *CAfile,char *CApath,int noCAfile,int noCApath)" identifier (parameter_list "(SSL_CTX *ctx,char *CAfile,char *CApath,int noCAfile,int noCApath)" ( (parameter_declaration "SSL_CTX *ctx" type_identifier (pointer_declarator "*ctx" * identifier)) , (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  int iVar1;\n  uint uVar2;\n  \n  if (CAfile == (char *)0x0 && CApath == (char *)0x0) {\n    if ((noCAfile == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (noCApath == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(ctx);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath);\n  }\n  return uVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (if_statement "if (CAfile == (char *)0x0 && CApath == (char *)0x0) {\n    if ((noCAfile == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (noCApath == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(ctx);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath);\n  }" if (parenthesized_expression "(CAfile == (char *)0x0 && CApath == (char *)0x0)" ( (binary_expression "CAfile == (char *)0x0 && CApath == (char *)0x0" (binary_expression "CAfile == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "CApath == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    if ((noCAfile == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (noCApath == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(ctx);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }" { (if_statement "if ((noCAfile == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }" if (parenthesized_expression "((noCAfile == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1))" ( (binary_expression "(noCAfile == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)" (parenthesized_expression "(noCAfile == 0)" ( (binary_expression "noCAfile == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)" ( (comma_expression "iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1" (assignment_expression "iVar1 = SSL_CTX_set_default_verify_file()" identifier = (call_expression "SSL_CTX_set_default_verify_file()" identifier (argument_list "()" ( )))) , (binary_expression "iVar1 < 1" identifier < number_literal)) ))) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (if_statement "if (noCApath == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(ctx);\n      uVar2 = (uint)(0 < iVar1);\n    }" if (parenthesized_expression "(noCApath == 0)" ( (binary_expression "noCApath == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = SSL_CTX_set_default_verify_dir(ctx);\n      uVar2 = (uint)(0 < iVar1);\n    }" { (expression_statement "iVar1 = SSL_CTX_set_default_verify_dir(ctx);" (assignment_expression "iVar1 = SSL_CTX_set_default_verify_dir(ctx)" identifier = (call_expression "SSL_CTX_set_default_verify_dir(ctx)" identifier (argument_list "(ctx)" ( identifier )))) ;) (expression_statement "uVar2 = (uint)(0 < iVar1);" (assignment_expression "uVar2 = (uint)(0 < iVar1)" identifier = (call_expression "(uint)(0 < iVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0 < iVar1)" ( (binary_expression "0 < iVar1" number_literal < identifier) )))) ;) })) }) (else_clause "else {\n    uVar2 = SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath);\n  }" else (compound_statement "{\n    uVar2 = SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath);\n  }" { (expression_statement "uVar2 = SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath);" (assignment_expression "uVar2 = SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath)" identifier = (call_expression "SSL_CTX_load_verify_locations((SSL_CTX *)ctx,CAfile,CApath)" identifier (argument_list "((SSL_CTX *)ctx,CAfile,CApath)" ( (cast_expression "(SSL_CTX *)ctx" ( (type_descriptor "SSL_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier )))) ;) }))) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit "uint FUN_0017b07a(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)\n\n{\n  int iVar1;\n  uint uVar2;\n  \n  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }\n  return uVar2;\n}\n\n" (function_definition "uint FUN_0017b07a(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)\n\n{\n  int iVar1;\n  uint uVar2;\n  \n  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }\n  return uVar2;\n}" type_identifier (function_declarator "FUN_0017b07a(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)" identifier (parameter_list "(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)" ( (parameter_declaration "SSL_CTX *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  \n  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }\n  return uVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (if_statement "if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }" if (parenthesized_expression "(param_2 == (char *)0x0 && param_3 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0 && param_3 == (char *)0x0" (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "param_3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }" { (if_statement "if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }" if (parenthesized_expression "((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1))" ( (binary_expression "(param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)" ( (comma_expression "iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1" (assignment_expression "iVar1 = SSL_CTX_set_default_verify_file()" identifier = (call_expression "SSL_CTX_set_default_verify_file()" identifier (argument_list "()" ( )))) , (binary_expression "iVar1 < 1" identifier < number_literal)) ))) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (if_statement "if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }" { (expression_statement "iVar1 = SSL_CTX_set_default_verify_dir(param_1);" (assignment_expression "iVar1 = SSL_CTX_set_default_verify_dir(param_1)" identifier = (call_expression "SSL_CTX_set_default_verify_dir(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar2 = (uint)(0 < iVar1);" (assignment_expression "uVar2 = (uint)(0 < iVar1)" identifier = (call_expression "(uint)(0 < iVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0 < iVar1)" ( (binary_expression "0 < iVar1" number_literal < identifier) )))) ;) })) }) (else_clause "else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }" else (compound_statement "{\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }" { (expression_statement "uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);" (assignment_expression "uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3)" identifier = (call_expression "SSL_CTX_load_verify_locations(param_1,param_2,param_3)" identifier (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) }))) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT < LIT)) ))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "uint FUN_0017b07a(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)\n\n{\n  int iVar1;\n  uint uVar2;\n  \n  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }\n  return uVar2;\n}" (type_identifier "uint") (function_declarator "FUN_0017b07a(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)" (identifier "FUN_0017b07a") (parameter_list "(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)" (( "(") (parameter_declaration "SSL_CTX *param_1" (type_identifier "SSL_CTX") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "char *param_3" (primitive_type "char") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) () ")"))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  \n  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }\n  return uVar2;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (if_statement "if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }\n  else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }" (if "if") (parenthesized_expression "(param_2 == (char *)0x0 && param_3 == (char *)0x0)" (( "(") (binary_expression "param_2 == (char *)0x0 && param_3 == (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"))) (&& "&&") (binary_expression "param_3 == (char *)0x0" (identifier "param_3") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }\n    uVar2 = 1;\n    if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }\n  }" ({ "{") (if_statement "if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {\n      return 0;\n    }" (if "if") (parenthesized_expression "((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1))" (( "(") (binary_expression "(param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)" (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)" (( "(") (comma_expression "iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1" (assignment_expression "iVar1 = SSL_CTX_set_default_verify_file()" (identifier "iVar1") (= "=") (call_expression "SSL_CTX_set_default_verify_file()" (identifier "SSL_CTX_set_default_verify_file") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar1 < 1" (identifier "iVar1") (< "<") (number_literal "1"))) () ")"))) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (; ";")) (if_statement "if (param_5 == 0) {\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = SSL_CTX_set_default_verify_dir(param_1);\n      uVar2 = (uint)(0 < iVar1);\n    }" ({ "{") (expression_statement "iVar1 = SSL_CTX_set_default_verify_dir(param_1);" (assignment_expression "iVar1 = SSL_CTX_set_default_verify_dir(param_1)" (identifier "iVar1") (= "=") (call_expression "SSL_CTX_set_default_verify_dir(param_1)" (identifier "SSL_CTX_set_default_verify_dir") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar2 = (uint)(0 < iVar1);" (assignment_expression "uVar2 = (uint)(0 < iVar1)" (identifier "uVar2") (= "=") (call_expression "(uint)(0 < iVar1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0 < iVar1)" (( "(") (binary_expression "0 < iVar1" (number_literal "0") (< "<") (identifier "iVar1")) () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }" (else "else") (compound_statement "{\n    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);\n  }" ({ "{") (expression_statement "uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);" (assignment_expression "uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3)" (identifier "uVar2") (= "=") (call_expression "SSL_CTX_load_verify_locations(param_1,param_2,param_3)" (identifier "SSL_CTX_load_verify_locations") (argument_list "(param_1,param_2,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (} "}")))) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}")))

int function_1(type_1 *ctx,char *var_1,char *var_2,int var_3,int var_6)

{
  int var_5;
  type_2 uVar2;
  
  if (var_1 == (char *)0x0 && var_2 == (char *)0x0) {
    if ((var_3 == 0) && (var_5 = var_4(), var_5 < 1)) {
      return 0;
    }
    uVar2 = 1;
    if (var_6 == 0) {
      var_5 = var_7(ctx);
      uVar2 = (type_2)(0 < var_5);
    }
  }
  else {
    uVar2 = var_8((type_1 *)ctx,var_1,var_2);
  }
  return uVar2;
}


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

uint MASKED(SSL_CTX *param_1,char *param_2,char *param_3,int param_4,int param_5)

{
  int iVar1;
  uint uVar2;
  
  if (param_2 == (char *)0x0 && param_3 == (char *)0x0) {
    if ((param_4 == 0) && (iVar1 = SSL_CTX_set_default_verify_file(), iVar1 < 1)) {
      return 0;
    }
    uVar2 = 1;
    if (param_5 == 0) {
      iVar1 = SSL_CTX_set_default_verify_dir(param_1);
      uVar2 = (uint)(0 < iVar1);
    }
  }
  else {
    uVar2 = SSL_CTX_load_verify_locations(param_1,param_2,param_3);
  }
  return uVar2;
}

