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

bfd_boolean __regparm3 load_cu_tu_indexes(void *file)

{
  bfd_boolean bVar1;
  int iVar2;
  
  if (load_cu_tu_indexes::cu_tu_indexes_read != -1) {
    return load_cu_tu_indexes::cu_tu_indexes_read;
  }
  load_cu_tu_indexes::cu_tu_indexes_read = 1;
  bVar1 = load_debug_section_with_follow(dwp_cu_index,file);
  if ((bVar1 != 0) &&
     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0), iVar2 == 0))
  {
    load_cu_tu_indexes::cu_tu_indexes_read = 0;
  }
  bVar1 = load_debug_section_with_follow(dwp_tu_index,file);
  if ((bVar1 != 0) &&
     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0), iVar2 == 0))
  {
    load_cu_tu_indexes::cu_tu_indexes_read = 0;
    return 0;
  }
  return load_cu_tu_indexes::cu_tu_indexes_read;
}



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

int FUN_000621b0(void)

{
  int iVar1;
  
  if (DAT_000b4824 != -1) {
    return DAT_000b4824;
  }
  DAT_000b4824 = 1;
  iVar1 = FUN_0004e110();
  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {
    DAT_000b4824 = 0;
  }
  iVar1 = FUN_0004e110();
  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {
    DAT_000b4824 = 0;
    return 0;
  }
  return DAT_000b4824;
}


PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x51e49
SUB ESP,0x4
MOV ECX,dword ptr [EBX + 0x824]
CMP ECX,-0x1
JZ 0x000621d8
ADD ESP,0x4
MOV EAX,ECX
POP EBX
POP ESI
RET
MOV dword ptr [EBX + 0x824],0x1
MOV ESI,EAX
MOV EDX,EAX
MOV EAX,0x26
CALL 0x0004e110
TEST EAX,EAX
JNZ 0x00062240
MOV EDX,ESI
MOV EAX,0x27
CALL 0x0004e110
TEST EAX,EAX
JNZ 0x00062218
MOV ECX,dword ptr [EBX + 0x824]
ADD ESP,0x4
POP EBX
POP ESI
MOV EAX,ECX
RET
XOR EDX,EDX
LEA EAX,[EBX + 0x1200]
CALL 0x00061070
MOV ECX,EAX
TEST EAX,EAX
JNZ 0x00062204
MOV dword ptr [EBX + 0x824],0x0
JMP 0x000621cb
XOR EDX,EDX
LEA EAX,[EBX + 0x11c0]
CALL 0x00061070
TEST EAX,EAX
JNZ 0x000621f4
MOV dword ptr [EBX + 0x824],0x0
JMP 0x000621f4
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint FUN_000621b0(void)\n\n{\n  int iVar1;\n  \n  if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }\n  DAT_000b4824 = 1;\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }\n  return DAT_000b4824;\n}\n\n" comment (function_definition "int FUN_000621b0(void)\n\n{\n  int iVar1;\n  \n  if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }\n  DAT_000b4824 = 1;\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }\n  return DAT_000b4824;\n}" primitive_type (function_declarator "FUN_000621b0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  \n  if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }\n  DAT_000b4824 = 1;\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }\n  return DAT_000b4824;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }" if (parenthesized_expression "(DAT_000b4824 != -1)" ( (binary_expression "DAT_000b4824 != -1" identifier != number_literal) )) (compound_statement "{\n    return DAT_000b4824;\n  }" { (return_statement "return DAT_000b4824;" return identifier ;) })) (expression_statement "DAT_000b4824 = 1;" (assignment_expression "DAT_000b4824 = 1" identifier = number_literal) ;) (expression_statement "iVar1 = FUN_0004e110();" (assignment_expression "iVar1 = FUN_0004e110()" identifier = (call_expression "FUN_0004e110()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }" if (parenthesized_expression "((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0))" ( (binary_expression "(iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)" (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar1 = FUN_00061070(), iVar1 == 0)" ( (comma_expression "iVar1 = FUN_00061070(), iVar1 == 0" (assignment_expression "iVar1 = FUN_00061070()" identifier = (call_expression "FUN_00061070()" identifier (argument_list "()" ( )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    DAT_000b4824 = 0;\n  }" { (expression_statement "DAT_000b4824 = 0;" (assignment_expression "DAT_000b4824 = 0" identifier = number_literal) ;) })) (expression_statement "iVar1 = FUN_0004e110();" (assignment_expression "iVar1 = FUN_0004e110()" identifier = (call_expression "FUN_0004e110()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }" if (parenthesized_expression "((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0))" ( (binary_expression "(iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)" (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar1 = FUN_00061070(), iVar1 == 0)" ( (comma_expression "iVar1 = FUN_00061070(), iVar1 == 0" (assignment_expression "iVar1 = FUN_00061070()" identifier = (call_expression "FUN_00061070()" identifier (argument_list "()" ( )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    DAT_000b4824 = 0;\n    return 0;\n  }" { (expression_statement "DAT_000b4824 = 0;" (assignment_expression "DAT_000b4824 = 0" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return DAT_000b4824;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbfd_boolean __regparm3 load_cu_tu_indexes(void *file)\n\n{\n  bfd_boolean bVar1;\n  int iVar2;\n  \n  if (load_cu_tu_indexes::cu_tu_indexes_read != -1) {\n    return load_cu_tu_indexes::cu_tu_indexes_read;\n  }\n  load_cu_tu_indexes::cu_tu_indexes_read = 1;\n  bVar1 = load_debug_section_with_follow(dwp_cu_index,file);\n  if ((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0), iVar2 == 0))\n  {\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n  }\n  bVar1 = load_debug_section_with_follow(dwp_tu_index,file);\n  if ((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0), iVar2 == 0))\n  {\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n    return 0;\n  }\n  return load_cu_tu_indexes::cu_tu_indexes_read;\n}\n\n" comment (function_definition "bfd_boolean __regparm3 load_cu_tu_indexes(void *file)\n\n{\n  bfd_boolean bVar1;\n  int iVar2;\n  \n  if (load_cu_tu_indexes::cu_tu_indexes_read != -1) {\n    return load_cu_tu_indexes::cu_tu_indexes_read;\n  }\n  load_cu_tu_indexes::cu_tu_indexes_read = 1;\n  bVar1 = load_debug_section_with_follow(dwp_cu_index,file);\n  if ((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0), iVar2 == 0))\n  {\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n  }\n  bVar1 = load_debug_section_with_follow(dwp_tu_index,file);\n  if ((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0), iVar2 == 0))\n  {\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n    return 0;\n  }\n  return load_cu_tu_indexes::cu_tu_indexes_read;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "load_cu_tu_indexes(void *file)" identifier (parameter_list "(void *file)" ( (parameter_declaration "void *file" primitive_type (pointer_declarator "*file" * identifier)) ))) (compound_statement "{\n  bfd_boolean bVar1;\n  int iVar2;\n  \n  if (load_cu_tu_indexes::cu_tu_indexes_read != -1) {\n    return load_cu_tu_indexes::cu_tu_indexes_read;\n  }\n  load_cu_tu_indexes::cu_tu_indexes_read = 1;\n  bVar1 = load_debug_section_with_follow(dwp_cu_index,file);\n  if ((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0), iVar2 == 0))\n  {\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n  }\n  bVar1 = load_debug_section_with_follow(dwp_tu_index,file);\n  if ((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0), iVar2 == 0))\n  {\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n    return 0;\n  }\n  return load_cu_tu_indexes::cu_tu_indexes_read;\n}" { (declaration "bfd_boolean bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (if_statement "if (load_cu_tu_indexes::cu_tu_indexes_read != -1) {\n    return load_cu_tu_indexes::cu_tu_indexes_read;\n  }" if (parenthesized_expression "(load_cu_tu_indexes::cu_tu_indexes_read != -1)" ( (ERROR "load_cu_tu_indexes::" identifier : :) (binary_expression "cu_tu_indexes_read != -1" identifier != number_literal) )) (compound_statement "{\n    return load_cu_tu_indexes::cu_tu_indexes_read;\n  }" { (return_statement "return load_cu_tu_indexes::cu_tu_indexes_read;" return identifier (ERROR "::cu_tu_indexes_read" : : identifier) ;) })) (labeled_statement "load_cu_tu_indexes::cu_tu_indexes_read = 1;" statement_identifier : (ERROR ":" :) (expression_statement "cu_tu_indexes_read = 1;" (assignment_expression "cu_tu_indexes_read = 1" identifier = number_literal) ;)) (expression_statement "bVar1 = load_debug_section_with_follow(dwp_cu_index,file);" (assignment_expression "bVar1 = load_debug_section_with_follow(dwp_cu_index,file)" identifier = (call_expression "load_debug_section_with_follow(dwp_cu_index,file)" identifier (argument_list "(dwp_cu_index,file)" ( identifier , identifier )))) ;) (if_statement "if ((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0), iVar2 == 0))\n  {\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n  }" if (parenthesized_expression "((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0), iVar2 == 0))" ( (binary_expression "(bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0), iVar2 == 0)" (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0), iVar2 == 0)" ( (comma_expression "iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0), iVar2 == 0" (assignment_expression "iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0)" identifier = (call_expression "process_cu_tu_index((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0)" identifier (argument_list "((dwarf_section *)&PTR_s__debug_cu_index_000b51c0,0)" ( (cast_expression "(dwarf_section *)&PTR_s__debug_cu_index_000b51c0" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_s__debug_cu_index_000b51c0" & identifier)) , number_literal )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n  }" { (labeled_statement "load_cu_tu_indexes::cu_tu_indexes_read = 0;" statement_identifier : (ERROR ":" :) (expression_statement "cu_tu_indexes_read = 0;" (assignment_expression "cu_tu_indexes_read = 0" identifier = number_literal) ;)) })) (expression_statement "bVar1 = load_debug_section_with_follow(dwp_tu_index,file);" (assignment_expression "bVar1 = load_debug_section_with_follow(dwp_tu_index,file)" identifier = (call_expression "load_debug_section_with_follow(dwp_tu_index,file)" identifier (argument_list "(dwp_tu_index,file)" ( identifier , identifier )))) ;) (if_statement "if ((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0), iVar2 == 0))\n  {\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n    return 0;\n  }" if (parenthesized_expression "((bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0), iVar2 == 0))" ( (binary_expression "(bVar1 != 0) &&\n     (iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0), iVar2 == 0)" (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0), iVar2 == 0)" ( (comma_expression "iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0), iVar2 == 0" (assignment_expression "iVar2 = process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0)" identifier = (call_expression "process_cu_tu_index((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0)" identifier (argument_list "((dwarf_section *)&PTR_s__debug_tu_index_000b5200,0)" ( (cast_expression "(dwarf_section *)&PTR_s__debug_tu_index_000b5200" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_s__debug_tu_index_000b5200" & identifier)) , number_literal )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    load_cu_tu_indexes::cu_tu_indexes_read = 0;\n    return 0;\n  }" { (labeled_statement "load_cu_tu_indexes::cu_tu_indexes_read = 0;" statement_identifier : (ERROR ":" :) (expression_statement "cu_tu_indexes_read = 0;" (assignment_expression "cu_tu_indexes_read = 0" identifier = number_literal) ;)) (return_statement "return 0;" return number_literal ;) })) (return_statement "return load_cu_tu_indexes::cu_tu_indexes_read;" return identifier (ERROR "::cu_tu_indexes_read" : : identifier) ;) })))
(translation_unit "int FUN_000621b0(void)\n\n{\n  int iVar1;\n  \n  if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }\n  DAT_000b4824 = 1;\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }\n  return DAT_000b4824;\n}\n\n" (function_definition "int FUN_000621b0(void)\n\n{\n  int iVar1;\n  \n  if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }\n  DAT_000b4824 = 1;\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }\n  return DAT_000b4824;\n}" primitive_type (function_declarator "FUN_000621b0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  \n  if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }\n  DAT_000b4824 = 1;\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }\n  return DAT_000b4824;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }" if (parenthesized_expression "(DAT_000b4824 != -1)" ( (binary_expression "DAT_000b4824 != -1" identifier != number_literal) )) (compound_statement "{\n    return DAT_000b4824;\n  }" { (return_statement "return DAT_000b4824;" return identifier ;) })) (expression_statement "DAT_000b4824 = 1;" (assignment_expression "DAT_000b4824 = 1" identifier = number_literal) ;) (expression_statement "iVar1 = FUN_0004e110();" (assignment_expression "iVar1 = FUN_0004e110()" identifier = (call_expression "FUN_0004e110()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }" if (parenthesized_expression "((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0))" ( (binary_expression "(iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)" (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar1 = FUN_00061070(), iVar1 == 0)" ( (comma_expression "iVar1 = FUN_00061070(), iVar1 == 0" (assignment_expression "iVar1 = FUN_00061070()" identifier = (call_expression "FUN_00061070()" identifier (argument_list "()" ( )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    DAT_000b4824 = 0;\n  }" { (expression_statement "DAT_000b4824 = 0;" (assignment_expression "DAT_000b4824 = 0" identifier = number_literal) ;) })) (expression_statement "iVar1 = FUN_0004e110();" (assignment_expression "iVar1 = FUN_0004e110()" identifier = (call_expression "FUN_0004e110()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }" if (parenthesized_expression "((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0))" ( (binary_expression "(iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)" (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar1 = FUN_00061070(), iVar1 == 0)" ( (comma_expression "iVar1 = FUN_00061070(), iVar1 == 0" (assignment_expression "iVar1 = FUN_00061070()" identifier = (call_expression "FUN_00061070()" identifier (argument_list "()" ( )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    DAT_000b4824 = 0;\n    return 0;\n  }" { (expression_statement "DAT_000b4824 = 0;" (assignment_expression "DAT_000b4824 = 0" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return DAT_000b4824;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (return_statement return IDENT ;) })))
(function_definition "int FUN_000621b0(void)\n\n{\n  int iVar1;\n  \n  if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }\n  DAT_000b4824 = 1;\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }\n  return DAT_000b4824;\n}" (primitive_type "int") (function_declarator "FUN_000621b0(void)" (identifier "FUN_000621b0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  \n  if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }\n  DAT_000b4824 = 1;\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }\n  iVar1 = FUN_0004e110();\n  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }\n  return DAT_000b4824;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (if_statement "if (DAT_000b4824 != -1) {\n    return DAT_000b4824;\n  }" (if "if") (parenthesized_expression "(DAT_000b4824 != -1)" (( "(") (binary_expression "DAT_000b4824 != -1" (identifier "DAT_000b4824") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    return DAT_000b4824;\n  }" ({ "{") (return_statement "return DAT_000b4824;" (return "return") (identifier "DAT_000b4824") (; ";")) (} "}"))) (expression_statement "DAT_000b4824 = 1;" (assignment_expression "DAT_000b4824 = 1" (identifier "DAT_000b4824") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar1 = FUN_0004e110();" (assignment_expression "iVar1 = FUN_0004e110()" (identifier "iVar1") (= "=") (call_expression "FUN_0004e110()" (identifier "FUN_0004e110") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n  }" (if "if") (parenthesized_expression "((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0))" (( "(") (binary_expression "(iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)" (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar1 = FUN_00061070(), iVar1 == 0)" (( "(") (comma_expression "iVar1 = FUN_00061070(), iVar1 == 0" (assignment_expression "iVar1 = FUN_00061070()" (identifier "iVar1") (= "=") (call_expression "FUN_00061070()" (identifier "FUN_00061070") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    DAT_000b4824 = 0;\n  }" ({ "{") (expression_statement "DAT_000b4824 = 0;" (assignment_expression "DAT_000b4824 = 0" (identifier "DAT_000b4824") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar1 = FUN_0004e110();" (assignment_expression "iVar1 = FUN_0004e110()" (identifier "iVar1") (= "=") (call_expression "FUN_0004e110()" (identifier "FUN_0004e110") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {\n    DAT_000b4824 = 0;\n    return 0;\n  }" (if "if") (parenthesized_expression "((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0))" (( "(") (binary_expression "(iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)" (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar1 = FUN_00061070(), iVar1 == 0)" (( "(") (comma_expression "iVar1 = FUN_00061070(), iVar1 == 0" (assignment_expression "iVar1 = FUN_00061070()" (identifier "iVar1") (= "=") (call_expression "FUN_00061070()" (identifier "FUN_00061070") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    DAT_000b4824 = 0;\n    return 0;\n  }" ({ "{") (expression_statement "DAT_000b4824 = 0;" (assignment_expression "DAT_000b4824 = 0" (identifier "DAT_000b4824") (= "=") (number_literal "0")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return DAT_000b4824;" (return "return") (identifier "DAT_000b4824") (; ";")) (} "}")))

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

type_1 __regparm3 function_1(void *file)

{
  type_1 var_3;
  int var_5;
  
  if (function_1::var_1 != -1) {
    return function_1::var_1;
  }
  load_cu_tu_indexes::var_1 = 1;
  var_3 = var_2(dwp_cu_index,file);
  if ((var_3 != 0) &&
     (var_5 = var_4((type_2 *)&PTR_s__debug_cu_index_000b51c0,0), var_5 == 0))
  {
    load_cu_tu_indexes::var_1 = 0;
  }
  var_3 = var_2(dwp_tu_index,file);
  if ((var_3 != 0) &&
     (var_5 = var_4((type_2 *)&PTR_s__debug_tu_index_000b5200,0), var_5 == 0))
  {
    load_cu_tu_indexes::var_1 = 0;
    return 0;
  }
  return function_1::var_1;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (return_statement (number_literal)))) (return_statement (identifier)))))

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

int MASKED(void)

{
  int iVar1;
  
  if (DAT_000b4824 != -1) {
    return DAT_000b4824;
  }
  DAT_000b4824 = 1;
  iVar1 = FUN_0004e110();
  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {
    DAT_000b4824 = 0;
  }
  iVar1 = FUN_0004e110();
  if ((iVar1 != 0) && (iVar1 = FUN_00061070(), iVar1 == 0)) {
    DAT_000b4824 = 0;
    return 0;
  }
  return DAT_000b4824;
}

