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

int __regparm3 set_pbe(int *ppbe,char *str)

{
  int iVar1;
  byte *pbVar2;
  byte *pbVar3;
  bool bVar4;
  bool bVar5;
  
  bVar4 = false;
  bVar5 = str == (char *)0x0;
  if (bVar5) {
    return 0;
  }
  iVar1 = 5;
  pbVar2 = (byte *)str;
  pbVar3 = &DAT_000816e9;
  do {
    if (iVar1 == 0) break;
    iVar1 = iVar1 + -1;
    bVar4 = *pbVar2 < *pbVar3;
    bVar5 = *pbVar2 == *pbVar3;
    pbVar2 = pbVar2 + 1;
    pbVar3 = pbVar3 + 1;
  } while (bVar5);
  if ((!bVar4 && !bVar5) == bVar4) {
    *ppbe = -1;
    iVar1 = 1;
  }
  else {
    iVar1 = OBJ_txt2nid(str);
    *ppbe = iVar1;
    if (iVar1 != 0) {
      return 1;
    }
    BIO_printf((BIO *)bio_err,"Unknown PBE algorithm %s\n",str);
    iVar1 = 0;
  }
  return iVar1;
}



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

undefined4 __regparm3 FUN_00047480(int *param_1,byte *param_2)

{
  int iVar1;
  byte *pbVar2;
  byte *pbVar3;
  undefined4 uVar4;
  bool bVar5;
  bool bVar6;
  
  bVar5 = false;
  bVar6 = param_2 == (byte *)0x0;
  if (bVar6) {
    return 0;
  }
  iVar1 = 5;
  pbVar2 = param_2;
  pbVar3 = &DAT_000816e9;
  do {
    if (iVar1 == 0) break;
    iVar1 = iVar1 + -1;
    bVar5 = *pbVar2 < *pbVar3;
    bVar6 = *pbVar2 == *pbVar3;
    pbVar2 = pbVar2 + 1;
    pbVar3 = pbVar3 + 1;
  } while (bVar6);
  if ((!bVar5 && !bVar6) == bVar5) {
    *param_1 = -1;
    uVar4 = 1;
  }
  else {
    iVar1 = OBJ_txt2nid((char *)param_2);
    *param_1 = iVar1;
    if (iVar1 != 0) {
      return 1;
    }
    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);
    uVar4 = 0;
  }
  return uVar4;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0002c7d0
ADD EBX,0x755ef
SUB ESP,0xc
TEST EDX,EDX
JZ 0x000474f0
MOV ECX,0x5
LEA EDI,[EBX + 0xfffc4c71]
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JNZ 0x000474c8
MOV dword ptr [EAX],0xffffffff
MOV EDI,0x1
ADD ESP,0xc
MOV EAX,EDI
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
MOV EBP,EAX
MOV ESI,EDX
PUSH EDX
CALL 0x00029570
ADD ESP,0x10
MOV EDI,EAX
MOV dword ptr [EBP],EAX
TEST EAX,EAX
JZ 0x00047500
ADD ESP,0xc
MOV EDI,0x1
POP EBX
MOV EAX,EDI
POP ESI
POP EDI
POP EBP
RET
ADD ESP,0xc
XOR EDI,EDI
POP EBX
MOV EAX,EDI
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffca0ed]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0x7b14]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD ESP,0x10
JMP 0x000474ba
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3 FUN_00047480(int *param_1,byte *param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  bool bVar5;\n  bool bVar6;\n  \n  bVar5 = false;\n  bVar6 = param_2 == (byte *)0x0;\n  if (bVar6) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = param_2;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);\n  if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }\n  return uVar4;\n}\n\n" comment (function_definition "undefined4 __regparm3 FUN_00047480(int *param_1,byte *param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  bool bVar5;\n  bool bVar6;\n  \n  bVar5 = false;\n  bVar6 = param_2 == (byte *)0x0;\n  if (bVar6) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = param_2;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);\n  if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }\n  return uVar4;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00047480(int *param_1,byte *param_2)" identifier (parameter_list "(int *param_1,byte *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  bool bVar5;\n  bool bVar6;\n  \n  bVar5 = false;\n  bVar6 = param_2 == (byte *)0x0;\n  if (bVar6) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = param_2;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);\n  if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }\n  return uVar4;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar6 = param_2 == (byte *)0x0;" (assignment_expression "bVar6 = param_2 == (byte *)0x0" identifier = (binary_expression "param_2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar6) {\n    return 0;\n  }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar1 = 5;" (assignment_expression "iVar1 = 5" identifier = number_literal) ;) (expression_statement "pbVar2 = param_2;" (assignment_expression "pbVar2 = param_2" identifier = identifier) ;) (expression_statement "pbVar3 = &DAT_000816e9;" (assignment_expression "pbVar3 = &DAT_000816e9" identifier = (pointer_expression "&DAT_000816e9" & identifier)) ;) (do_statement "do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);" do (compound_statement "{\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  }" { (if_statement "if (iVar1 == 0) break;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) (expression_statement "bVar5 = *pbVar2 < *pbVar3;" (assignment_expression "bVar5 = *pbVar2 < *pbVar3" identifier = (binary_expression "*pbVar2 < *pbVar3" (pointer_expression "*pbVar2" * identifier) < (pointer_expression "*pbVar3" * identifier))) ;) (expression_statement "bVar6 = *pbVar2 == *pbVar3;" (assignment_expression "bVar6 = *pbVar2 == *pbVar3" identifier = (binary_expression "*pbVar2 == *pbVar3" (pointer_expression "*pbVar2" * identifier) == (pointer_expression "*pbVar3" * identifier))) ;) (expression_statement "pbVar2 = pbVar2 + 1;" (assignment_expression "pbVar2 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (if_statement "if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }" if (parenthesized_expression "((!bVar5 && !bVar6) == bVar5)" ( (binary_expression "(!bVar5 && !bVar6) == bVar5" (parenthesized_expression "(!bVar5 && !bVar6)" ( (binary_expression "!bVar5 && !bVar6" (unary_expression "!bVar5" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier) )) (compound_statement "{\n    *param_1 = -1;\n    uVar4 = 1;\n  }" { (expression_statement "*param_1 = -1;" (assignment_expression "*param_1 = -1" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }" else (compound_statement "{\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }" { (expression_statement "iVar1 = OBJ_txt2nid((char *)param_2);" (assignment_expression "iVar1 = OBJ_txt2nid((char *)param_2)" identifier = (call_expression "OBJ_txt2nid((char *)param_2)" identifier (argument_list "((char *)param_2)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "*param_1 = iVar1;" (assignment_expression "*param_1 = iVar1" (pointer_expression "*param_1" * identifier) = identifier) ;) (if_statement "if (iVar1 != 0) {\n      return 1;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);" (call_expression "BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2)" identifier (argument_list "(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2)" ( identifier , (string_literal ""Unknown PBE algorithm %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 set_pbe(int *ppbe,char *str)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  bool bVar4;\n  bool bVar5;\n  \n  bVar4 = false;\n  bVar5 = str == (char *)0x0;\n  if (bVar5) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = (byte *)str;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar4 = *pbVar2 < *pbVar3;\n    bVar5 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar5);\n  if ((!bVar4 && !bVar5) == bVar4) {\n    *ppbe = -1;\n    iVar1 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid(str);\n    *ppbe = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf((BIO *)bio_err,"Unknown PBE algorithm %s\n",str);\n    iVar1 = 0;\n  }\n  return iVar1;\n}\n\n" comment (function_definition "int __regparm3 set_pbe(int *ppbe,char *str)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  bool bVar4;\n  bool bVar5;\n  \n  bVar4 = false;\n  bVar5 = str == (char *)0x0;\n  if (bVar5) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = (byte *)str;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar4 = *pbVar2 < *pbVar3;\n    bVar5 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar5);\n  if ((!bVar4 && !bVar5) == bVar4) {\n    *ppbe = -1;\n    iVar1 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid(str);\n    *ppbe = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf((BIO *)bio_err,"Unknown PBE algorithm %s\n",str);\n    iVar1 = 0;\n  }\n  return iVar1;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "set_pbe(int *ppbe,char *str)" identifier (parameter_list "(int *ppbe,char *str)" ( (parameter_declaration "int *ppbe" primitive_type (pointer_declarator "*ppbe" * identifier)) , (parameter_declaration "char *str" primitive_type (pointer_declarator "*str" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  bool bVar4;\n  bool bVar5;\n  \n  bVar4 = false;\n  bVar5 = str == (char *)0x0;\n  if (bVar5) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = (byte *)str;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar4 = *pbVar2 < *pbVar3;\n    bVar5 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar5);\n  if ((!bVar4 && !bVar5) == bVar4) {\n    *ppbe = -1;\n    iVar1 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid(str);\n    *ppbe = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf((BIO *)bio_err,"Unknown PBE algorithm %s\n",str);\n    iVar1 = 0;\n  }\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar5 = str == (char *)0x0;" (assignment_expression "bVar5 = str == (char *)0x0" identifier = (binary_expression "str == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar5) {\n    return 0;\n  }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar1 = 5;" (assignment_expression "iVar1 = 5" identifier = number_literal) ;) (expression_statement "pbVar2 = (byte *)str;" (assignment_expression "pbVar2 = (byte *)str" identifier = (cast_expression "(byte *)str" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar3 = &DAT_000816e9;" (assignment_expression "pbVar3 = &DAT_000816e9" identifier = (pointer_expression "&DAT_000816e9" & identifier)) ;) (do_statement "do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar4 = *pbVar2 < *pbVar3;\n    bVar5 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar5);" do (compound_statement "{\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar4 = *pbVar2 < *pbVar3;\n    bVar5 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  }" { (if_statement "if (iVar1 == 0) break;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) (expression_statement "bVar4 = *pbVar2 < *pbVar3;" (assignment_expression "bVar4 = *pbVar2 < *pbVar3" identifier = (binary_expression "*pbVar2 < *pbVar3" (pointer_expression "*pbVar2" * identifier) < (pointer_expression "*pbVar3" * identifier))) ;) (expression_statement "bVar5 = *pbVar2 == *pbVar3;" (assignment_expression "bVar5 = *pbVar2 == *pbVar3" identifier = (binary_expression "*pbVar2 == *pbVar3" (pointer_expression "*pbVar2" * identifier) == (pointer_expression "*pbVar3" * identifier))) ;) (expression_statement "pbVar2 = pbVar2 + 1;" (assignment_expression "pbVar2 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar5)" ( identifier )) ;) (if_statement "if ((!bVar4 && !bVar5) == bVar4) {\n    *ppbe = -1;\n    iVar1 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid(str);\n    *ppbe = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf((BIO *)bio_err,"Unknown PBE algorithm %s\n",str);\n    iVar1 = 0;\n  }" if (parenthesized_expression "((!bVar4 && !bVar5) == bVar4)" ( (binary_expression "(!bVar4 && !bVar5) == bVar4" (parenthesized_expression "(!bVar4 && !bVar5)" ( (binary_expression "!bVar4 && !bVar5" (unary_expression "!bVar4" ! identifier) && (unary_expression "!bVar5" ! identifier)) )) == identifier) )) (compound_statement "{\n    *ppbe = -1;\n    iVar1 = 1;\n  }" { (expression_statement "*ppbe = -1;" (assignment_expression "*ppbe = -1" (pointer_expression "*ppbe" * identifier) = number_literal) ;) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    iVar1 = OBJ_txt2nid(str);\n    *ppbe = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf((BIO *)bio_err,"Unknown PBE algorithm %s\n",str);\n    iVar1 = 0;\n  }" else (compound_statement "{\n    iVar1 = OBJ_txt2nid(str);\n    *ppbe = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf((BIO *)bio_err,"Unknown PBE algorithm %s\n",str);\n    iVar1 = 0;\n  }" { (expression_statement "iVar1 = OBJ_txt2nid(str);" (assignment_expression "iVar1 = OBJ_txt2nid(str)" identifier = (call_expression "OBJ_txt2nid(str)" identifier (argument_list "(str)" ( identifier )))) ;) (expression_statement "*ppbe = iVar1;" (assignment_expression "*ppbe = iVar1" (pointer_expression "*ppbe" * identifier) = identifier) ;) (if_statement "if (iVar1 != 0) {\n      return 1;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "BIO_printf((BIO *)bio_err,"Unknown PBE algorithm %s\n",str);" (call_expression "BIO_printf((BIO *)bio_err,"Unknown PBE algorithm %s\n",str)" identifier (argument_list "((BIO *)bio_err,"Unknown PBE algorithm %s\n",str)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Unknown PBE algorithm %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }))) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "undefined4 __regparm3 FUN_00047480(int *param_1,byte *param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  bool bVar5;\n  bool bVar6;\n  \n  bVar5 = false;\n  bVar6 = param_2 == (byte *)0x0;\n  if (bVar6) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = param_2;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);\n  if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }\n  return uVar4;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_00047480(int *param_1,byte *param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  bool bVar5;\n  bool bVar6;\n  \n  bVar5 = false;\n  bVar6 = param_2 == (byte *)0x0;\n  if (bVar6) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = param_2;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);\n  if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }\n  return uVar4;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00047480(int *param_1,byte *param_2)" identifier (parameter_list "(int *param_1,byte *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  bool bVar5;\n  bool bVar6;\n  \n  bVar5 = false;\n  bVar6 = param_2 == (byte *)0x0;\n  if (bVar6) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = param_2;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);\n  if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }\n  return uVar4;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar6 = param_2 == (byte *)0x0;" (assignment_expression "bVar6 = param_2 == (byte *)0x0" identifier = (binary_expression "param_2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar6) {\n    return 0;\n  }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar1 = 5;" (assignment_expression "iVar1 = 5" identifier = number_literal) ;) (expression_statement "pbVar2 = param_2;" (assignment_expression "pbVar2 = param_2" identifier = identifier) ;) (expression_statement "pbVar3 = &DAT_000816e9;" (assignment_expression "pbVar3 = &DAT_000816e9" identifier = (pointer_expression "&DAT_000816e9" & identifier)) ;) (do_statement "do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);" do (compound_statement "{\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  }" { (if_statement "if (iVar1 == 0) break;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) (expression_statement "bVar5 = *pbVar2 < *pbVar3;" (assignment_expression "bVar5 = *pbVar2 < *pbVar3" identifier = (binary_expression "*pbVar2 < *pbVar3" (pointer_expression "*pbVar2" * identifier) < (pointer_expression "*pbVar3" * identifier))) ;) (expression_statement "bVar6 = *pbVar2 == *pbVar3;" (assignment_expression "bVar6 = *pbVar2 == *pbVar3" identifier = (binary_expression "*pbVar2 == *pbVar3" (pointer_expression "*pbVar2" * identifier) == (pointer_expression "*pbVar3" * identifier))) ;) (expression_statement "pbVar2 = pbVar2 + 1;" (assignment_expression "pbVar2 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" identifier = (binary_expression "pbVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar6)" ( identifier )) ;) (if_statement "if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }" if (parenthesized_expression "((!bVar5 && !bVar6) == bVar5)" ( (binary_expression "(!bVar5 && !bVar6) == bVar5" (parenthesized_expression "(!bVar5 && !bVar6)" ( (binary_expression "!bVar5 && !bVar6" (unary_expression "!bVar5" ! identifier) && (unary_expression "!bVar6" ! identifier)) )) == identifier) )) (compound_statement "{\n    *param_1 = -1;\n    uVar4 = 1;\n  }" { (expression_statement "*param_1 = -1;" (assignment_expression "*param_1 = -1" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }" else (compound_statement "{\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }" { (expression_statement "iVar1 = OBJ_txt2nid((char *)param_2);" (assignment_expression "iVar1 = OBJ_txt2nid((char *)param_2)" identifier = (call_expression "OBJ_txt2nid((char *)param_2)" identifier (argument_list "((char *)param_2)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "*param_1 = iVar1;" (assignment_expression "*param_1 = iVar1" (pointer_expression "*param_1" * identifier) = identifier) ;) (if_statement "if (iVar1 != 0) {\n      return 1;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);" (call_expression "BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2)" identifier (argument_list "(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2)" ( identifier , (string_literal ""Unknown PBE algorithm %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 __regparm3 FUN_00047480(int *param_1,byte *param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  bool bVar5;\n  bool bVar6;\n  \n  bVar5 = false;\n  bVar6 = param_2 == (byte *)0x0;\n  if (bVar6) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = param_2;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);\n  if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }\n  return uVar4;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00047480(int *param_1,byte *param_2)" (identifier "FUN_00047480") (parameter_list "(int *param_1,byte *param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  bool bVar5;\n  bool bVar6;\n  \n  bVar5 = false;\n  bVar6 = param_2 == (byte *)0x0;\n  if (bVar6) {\n    return 0;\n  }\n  iVar1 = 5;\n  pbVar2 = param_2;\n  pbVar3 = &DAT_000816e9;\n  do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);\n  if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }\n  return uVar4;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "byte *pbVar3;" (type_identifier "byte") (pointer_declarator "*pbVar3" (* "*") (identifier "pbVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "bool bVar6;" (primitive_type "bool") (identifier "bVar6") (; ";")) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" (identifier "bVar5") (= "=") (false "false")) (; ";")) (expression_statement "bVar6 = param_2 == (byte *)0x0;" (assignment_expression "bVar6 = param_2 == (byte *)0x0" (identifier "bVar6") (= "=") (binary_expression "param_2 == (byte *)0x0" (identifier "param_2") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (bVar6) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(bVar6)" (( "(") (identifier "bVar6") () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar1 = 5;" (assignment_expression "iVar1 = 5" (identifier "iVar1") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar2 = param_2;" (assignment_expression "pbVar2 = param_2" (identifier "pbVar2") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar3 = &DAT_000816e9;" (assignment_expression "pbVar3 = &DAT_000816e9" (identifier "pbVar3") (= "=") (pointer_expression "&DAT_000816e9" (& "&") (identifier "DAT_000816e9"))) (; ";")) (do_statement "do {\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  } while (bVar6);" (do "do") (compound_statement "{\n    if (iVar1 == 0) break;\n    iVar1 = iVar1 + -1;\n    bVar5 = *pbVar2 < *pbVar3;\n    bVar6 = *pbVar2 == *pbVar3;\n    pbVar2 = pbVar2 + 1;\n    pbVar3 = pbVar3 + 1;\n  }" ({ "{") (if_statement "if (iVar1 == 0) break;" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + -1" (identifier "iVar1") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar5 = *pbVar2 < *pbVar3;" (assignment_expression "bVar5 = *pbVar2 < *pbVar3" (identifier "bVar5") (= "=") (binary_expression "*pbVar2 < *pbVar3" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (< "<") (pointer_expression "*pbVar3" (* "*") (identifier "pbVar3")))) (; ";")) (expression_statement "bVar6 = *pbVar2 == *pbVar3;" (assignment_expression "bVar6 = *pbVar2 == *pbVar3" (identifier "bVar6") (= "=") (binary_expression "*pbVar2 == *pbVar3" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (== "==") (pointer_expression "*pbVar3" (* "*") (identifier "pbVar3")))) (; ";")) (expression_statement "pbVar2 = pbVar2 + 1;" (assignment_expression "pbVar2 = pbVar2 + 1" (identifier "pbVar2") (= "=") (binary_expression "pbVar2 + 1" (identifier "pbVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar3 = pbVar3 + 1;" (assignment_expression "pbVar3 = pbVar3 + 1" (identifier "pbVar3") (= "=") (binary_expression "pbVar3 + 1" (identifier "pbVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar6)" (( "(") (identifier "bVar6") () ")")) (; ";")) (if_statement "if ((!bVar5 && !bVar6) == bVar5) {\n    *param_1 = -1;\n    uVar4 = 1;\n  }\n  else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }" (if "if") (parenthesized_expression "((!bVar5 && !bVar6) == bVar5)" (( "(") (binary_expression "(!bVar5 && !bVar6) == bVar5" (parenthesized_expression "(!bVar5 && !bVar6)" (( "(") (binary_expression "!bVar5 && !bVar6" (unary_expression "!bVar5" (! "!") (identifier "bVar5")) (&& "&&") (unary_expression "!bVar6" (! "!") (identifier "bVar6"))) () ")")) (== "==") (identifier "bVar5")) () ")")) (compound_statement "{\n    *param_1 = -1;\n    uVar4 = 1;\n  }" ({ "{") (expression_statement "*param_1 = -1;" (assignment_expression "*param_1 = -1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }" (else "else") (compound_statement "{\n    iVar1 = OBJ_txt2nid((char *)param_2);\n    *param_1 = iVar1;\n    if (iVar1 != 0) {\n      return 1;\n    }\n    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);\n    uVar4 = 0;\n  }" ({ "{") (expression_statement "iVar1 = OBJ_txt2nid((char *)param_2);" (assignment_expression "iVar1 = OBJ_txt2nid((char *)param_2)" (identifier "iVar1") (= "=") (call_expression "OBJ_txt2nid((char *)param_2)" (identifier "OBJ_txt2nid") (argument_list "((char *)param_2)" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) () ")")))) (; ";")) (expression_statement "*param_1 = iVar1;" (assignment_expression "*param_1 = iVar1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar1")) (; ";")) (if_statement "if (iVar1 != 0) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);" (call_expression "BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Unknown PBE algorithm %s\n"" (" """) (string_content "Unknown PBE algorithm %s") (escape_sequence "\n") (" """)) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (} "}")))) (return_statement "return uVar4;" (return "return") (identifier "uVar4") (; ";")) (} "}")))

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

int __regparm3 function_1(int *ppbe,char *var_1)

{
  int var_2;
  type_1 *var_3;
  type_1 *var_4;
  bool var_5;
  bool bVar5;
  
  var_5 = false;
  bVar5 = var_1 == (char *)0x0;
  if (bVar5) {
    return 0;
  }
  var_2 = 5;
  var_3 = (type_1 *)var_1;
  var_4 = &DAT_000816e9;
  do {
    if (var_2 == 0) break;
    var_2 = var_2 + -1;
    var_5 = *var_3 < *var_4;
    bVar5 = *var_3 == *var_4;
    var_3 = var_3 + 1;
    var_4 = var_4 + 1;
  } while (bVar5);
  if ((!var_5 && !bVar5) == var_5) {
    *ppbe = -1;
    var_2 = 1;
  }
  else {
    var_2 = var_6(var_1);
    *ppbe = var_2;
    if (var_2 != 0) {
      return 1;
    }
    var_7((type_2 *)bio_err,"Unknown PBE algorithm %s\n",var_1);
    var_2 = 0;
  }
  return var_2;
}


(translation_unit (function_definition type: (type_identifier) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))))

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

undefined4 __regparm3 MASKED(int *param_1,byte *param_2)

{
  int iVar1;
  byte *pbVar2;
  byte *pbVar3;
  undefined4 uVar4;
  bool bVar5;
  bool bVar6;
  
  bVar5 = false;
  bVar6 = param_2 == (byte *)0x0;
  if (bVar6) {
    return 0;
  }
  iVar1 = 5;
  pbVar2 = param_2;
  pbVar3 = &DAT_000816e9;
  do {
    if (iVar1 == 0) break;
    iVar1 = iVar1 + -1;
    bVar5 = *pbVar2 < *pbVar3;
    bVar6 = *pbVar2 == *pbVar3;
    pbVar2 = pbVar2 + 1;
    pbVar3 = pbVar3 + 1;
  } while (bVar6);
  if ((!bVar5 && !bVar6) == bVar5) {
    *param_1 = -1;
    uVar4 = 1;
  }
  else {
    iVar1 = OBJ_txt2nid((char *)param_2);
    *param_1 = iVar1;
    if (iVar1 != 0) {
      return 1;
    }
    BIO_printf(DAT_000c458c,"Unknown PBE algorithm %s\n",param_2);
    uVar4 = 0;
  }
  return uVar4;
}

