
/* gold::get_section_contents(bool, std::pair<gold::Relobj*, unsigned int> const&, unsigned int,
   unsigned int*, gold::Symbol_table*, std::vector<unsigned int, std::allocator<unsigned int> >
   const&, std::vector<std::string, std::allocator<std::string > >*) [clone .cold.297] */

void gold::get_section_contents
               (bool param_1,pair *param_2,uint param_3,uint *param_4,Symbol_table *param_5,
               vector *param_6,vector *param_7)

{
  int iVar1;
  int unaff_EBP;
  
  if (*(void **)(unaff_EBP + -100) != *(void **)(unaff_EBP + -0xd8)) {
    operator_delete(*(void **)(unaff_EBP + -100));
  }
  if (*(void **)(unaff_EBP + -0xe0) != (void *)**(undefined4 **)(unaff_EBP + -0x98)) {
    operator_delete((void *)**(undefined4 **)(unaff_EBP + -0x98));
  }
  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);
  if (iVar1 != 0) {
    File_read::unlock((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff);
  }
                    /* WARNING: Subroutine does not return */
  _Unwind_Resume();
}



void FUN_0002759a(void)

{
  int iVar1;
  undefined4 in_ECX;
  undefined4 extraout_ECX;
  undefined4 extraout_ECX_00;
  int unaff_EBP;
  
  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {
    FUN_001807a0(*(int *)(unaff_EBP + -100));
    in_ECX = extraout_ECX;
  }
  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {
    FUN_001807a0(**(int **)(unaff_EBP + -0x98));
    in_ECX = extraout_ECX_00;
  }
  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);
  if (iVar1 != 0) {
    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);
  }
                    /* WARNING: Subroutine does not return */
  FUN_00217770();
}


MOV EAX,dword ptr [EBP + -0x64]
CMP EAX,dword ptr [EBP + 0xffffff28]
JZ 0x000275b7
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff68]
MOV EAX,dword ptr [EAX]
CMP dword ptr [EBP + 0xffffff20],EAX
JZ 0x000275d9
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff2c]
MOV EAX,dword ptr [EAX + 0x1c]
TEST EAX,EAX
JZ 0x000275fc
ADD EAX,0x1c
PUSH ECX
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH ECX
PUSH -0x1
PUSH EAX
CALL 0x0005cd80
ADD ESP,0x10
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff70]
PUSH ESI
CALL 0x00217770
(translation_unit "void FUN_0002759a(void)\n\n{\n  int iVar1;\n  undefined4 in_ECX;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  int unaff_EBP;\n  \n  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }\n  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00217770();\n}\n\n" (function_definition "void FUN_0002759a(void)\n\n{\n  int iVar1;\n  undefined4 in_ECX;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  int unaff_EBP;\n  \n  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }\n  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00217770();\n}" primitive_type (function_declarator "FUN_0002759a(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined4 in_ECX;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  int unaff_EBP;\n  \n  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }\n  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00217770();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 in_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (if_statement "if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8))" ( (binary_expression "*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)" (pointer_expression "*(int *)(unaff_EBP + -100)" * (cast_expression "(int *)(unaff_EBP + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -100)" ( (binary_expression "unaff_EBP + -100" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_EBP + -0xd8)" * (cast_expression "(int *)(unaff_EBP + -0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xd8)" ( (binary_expression "unaff_EBP + -0xd8" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -100));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -100))" identifier (argument_list "(*(int *)(unaff_EBP + -100))" ( (pointer_expression "*(int *)(unaff_EBP + -100)" * (cast_expression "(int *)(unaff_EBP + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -100)" ( (binary_expression "unaff_EBP + -100" identifier + number_literal) )))) ))) ;) (expression_statement "in_ECX = extraout_ECX;" (assignment_expression "in_ECX = extraout_ECX" identifier = identifier) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98))" ( (binary_expression "*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)" (pointer_expression "*(int *)(unaff_EBP + -0xe0)" * (cast_expression "(int *)(unaff_EBP + -0xe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xe0)" ( (binary_expression "unaff_EBP + -0xe0" identifier + number_literal) )))) != (pointer_expression "**(int **)(unaff_EBP + -0x98)" * (pointer_expression "*(int **)(unaff_EBP + -0x98)" * (cast_expression "(int **)(unaff_EBP + -0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x98)" ( (binary_expression "unaff_EBP + -0x98" identifier + number_literal) )))))) )) (compound_statement "{\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }" { (expression_statement "FUN_001807a0(**(int **)(unaff_EBP + -0x98));" (call_expression "FUN_001807a0(**(int **)(unaff_EBP + -0x98))" identifier (argument_list "(**(int **)(unaff_EBP + -0x98))" ( (pointer_expression "**(int **)(unaff_EBP + -0x98)" * (pointer_expression "*(int **)(unaff_EBP + -0x98)" * (cast_expression "(int **)(unaff_EBP + -0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x98)" ( (binary_expression "unaff_EBP + -0x98" identifier + number_literal) ))))) ))) ;) (expression_statement "in_ECX = extraout_ECX_00;" (assignment_expression "in_ECX = extraout_ECX_00" identifier = identifier) ;) })) (expression_statement "iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);" (assignment_expression "iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" * (cast_expression "(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + -0xd4) + 0x1c)" ( (binary_expression "*(int *)(unaff_EBP + -0xd4) + 0x1c" (pointer_expression "*(int *)(unaff_EBP + -0xd4)" * (cast_expression "(int *)(unaff_EBP + -0xd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xd4)" ( (binary_expression "unaff_EBP + -0xd4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }" { (expression_statement "FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);" (call_expression "FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX)" identifier (argument_list "(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) , number_literal , identifier , identifier ))) ;) })) comment (expression_statement "FUN_00217770();" (call_expression "FUN_00217770()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* gold::get_section_contents(bool, std::pair<gold::Relobj*, unsigned int> const&, unsigned int,\n   unsigned int*, gold::Symbol_table*, std::vector<unsigned int, std::allocator<unsigned int> >\n   const&, std::vector<std::string, std::allocator<std::string > >*) [clone .cold.297] */\n\nvoid gold::get_section_contents\n               (bool param_1,pair *param_2,uint param_3,uint *param_4,Symbol_table *param_5,\n               vector *param_6,vector *param_7)\n\n{\n  int iVar1;\n  int unaff_EBP;\n  \n  if (*(void **)(unaff_EBP + -100) != *(void **)(unaff_EBP + -0xd8)) {\n    operator_delete(*(void **)(unaff_EBP + -100));\n  }\n  if (*(void **)(unaff_EBP + -0xe0) != (void *)**(undefined4 **)(unaff_EBP + -0x98)) {\n    operator_delete((void *)**(undefined4 **)(unaff_EBP + -0x98));\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    File_read::unlock((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff);\n  }\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume();\n}\n\n" comment (function_definition "void gold::get_section_contents\n               (bool param_1,pair *param_2,uint param_3,uint *param_4,Symbol_table *param_5,\n               vector *param_6,vector *param_7)\n\n{\n  int iVar1;\n  int unaff_EBP;\n  \n  if (*(void **)(unaff_EBP + -100) != *(void **)(unaff_EBP + -0xd8)) {\n    operator_delete(*(void **)(unaff_EBP + -100));\n  }\n  if (*(void **)(unaff_EBP + -0xe0) != (void *)**(undefined4 **)(unaff_EBP + -0x98)) {\n    operator_delete((void *)**(undefined4 **)(unaff_EBP + -0x98));\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    File_read::unlock((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff);\n  }\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume();\n}" primitive_type (ERROR "gold::" identifier : :) (function_declarator "get_section_contents\n               (bool param_1,pair *param_2,uint param_3,uint *param_4,Symbol_table *param_5,\n               vector *param_6,vector *param_7)" identifier (parameter_list "(bool param_1,pair *param_2,uint param_3,uint *param_4,Symbol_table *param_5,\n               vector *param_6,vector *param_7)" ( (parameter_declaration "bool param_1" primitive_type identifier) , (parameter_declaration "pair *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "Symbol_table *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "vector *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "vector *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int unaff_EBP;\n  \n  if (*(void **)(unaff_EBP + -100) != *(void **)(unaff_EBP + -0xd8)) {\n    operator_delete(*(void **)(unaff_EBP + -100));\n  }\n  if (*(void **)(unaff_EBP + -0xe0) != (void *)**(undefined4 **)(unaff_EBP + -0x98)) {\n    operator_delete((void *)**(undefined4 **)(unaff_EBP + -0x98));\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    File_read::unlock((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff);\n  }\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (if_statement "if (*(void **)(unaff_EBP + -100) != *(void **)(unaff_EBP + -0xd8)) {\n    operator_delete(*(void **)(unaff_EBP + -100));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -100) != *(void **)(unaff_EBP + -0xd8))" ( (binary_expression "*(void **)(unaff_EBP + -100) != *(void **)(unaff_EBP + -0xd8)" (pointer_expression "*(void **)(unaff_EBP + -100)" * (cast_expression "(void **)(unaff_EBP + -100)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -100)" ( (binary_expression "unaff_EBP + -100" identifier + number_literal) )))) != (pointer_expression "*(void **)(unaff_EBP + -0xd8)" * (cast_expression "(void **)(unaff_EBP + -0xd8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0xd8)" ( (binary_expression "unaff_EBP + -0xd8" identifier + number_literal) ))))) )) (compound_statement "{\n    operator_delete(*(void **)(unaff_EBP + -100));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_EBP + -100));" (call_expression "operator_delete(*(void **)(unaff_EBP + -100))" identifier (argument_list "(*(void **)(unaff_EBP + -100))" ( (pointer_expression "*(void **)(unaff_EBP + -100)" * (cast_expression "(void **)(unaff_EBP + -100)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -100)" ( (binary_expression "unaff_EBP + -100" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(void **)(unaff_EBP + -0xe0) != (void *)**(undefined4 **)(unaff_EBP + -0x98)) {\n    operator_delete((void *)**(undefined4 **)(unaff_EBP + -0x98));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0xe0) != (void *)**(undefined4 **)(unaff_EBP + -0x98))" ( (binary_expression "*(void **)(unaff_EBP + -0xe0) != (void *)**(undefined4 **)(unaff_EBP + -0x98)" (pointer_expression "*(void **)(unaff_EBP + -0xe0)" * (cast_expression "(void **)(unaff_EBP + -0xe0)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0xe0)" ( (binary_expression "unaff_EBP + -0xe0" identifier + number_literal) )))) != (cast_expression "(void *)**(undefined4 **)(unaff_EBP + -0x98)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(unaff_EBP + -0x98)" * (pointer_expression "*(undefined4 **)(unaff_EBP + -0x98)" * (cast_expression "(undefined4 **)(unaff_EBP + -0x98)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x98)" ( (binary_expression "unaff_EBP + -0x98" identifier + number_literal) ))))))) )) (compound_statement "{\n    operator_delete((void *)**(undefined4 **)(unaff_EBP + -0x98));\n  }" { (expression_statement "operator_delete((void *)**(undefined4 **)(unaff_EBP + -0x98));" (call_expression "operator_delete((void *)**(undefined4 **)(unaff_EBP + -0x98))" identifier (argument_list "((void *)**(undefined4 **)(unaff_EBP + -0x98))" ( (cast_expression "(void *)**(undefined4 **)(unaff_EBP + -0x98)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(unaff_EBP + -0x98)" * (pointer_expression "*(undefined4 **)(unaff_EBP + -0x98)" * (cast_expression "(undefined4 **)(unaff_EBP + -0x98)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x98)" ( (binary_expression "unaff_EBP + -0x98" identifier + number_literal) )))))) ))) ;) })) (expression_statement "iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);" (assignment_expression "iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" * (cast_expression "(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + -0xd4) + 0x1c)" ( (binary_expression "*(int *)(unaff_EBP + -0xd4) + 0x1c" (pointer_expression "*(int *)(unaff_EBP + -0xd4)" * (cast_expression "(int *)(unaff_EBP + -0xd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xd4)" ( (binary_expression "unaff_EBP + -0xd4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    File_read::unlock((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff);\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    File_read::unlock((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff);\n  }" { (labeled_statement "File_read::unlock((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff);" statement_identifier : (ERROR ":" :) (expression_statement "unlock((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff);" (call_expression "unlock((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff)" identifier (argument_list "((File_read *)(iVar1 + 0x1c),(Task *)0xffffffff)" ( (cast_expression "(File_read *)(iVar1 + 0x1c)" ( (type_descriptor "File_read *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1c)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) ))) , (cast_expression "(Task *)0xffffffff" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) })) comment (expression_statement "_Unwind_Resume();" (call_expression "_Unwind_Resume()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void FUN_0002759a(void)\n\n{\n  int iVar1;\n  undefined4 in_ECX;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  int unaff_EBP;\n  \n  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }\n  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }\n                    \n  FUN_00217770();\n}\n\n" (function_definition "void FUN_0002759a(void)\n\n{\n  int iVar1;\n  undefined4 in_ECX;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  int unaff_EBP;\n  \n  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }\n  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }\n                    \n  FUN_00217770();\n}" primitive_type (function_declarator "FUN_0002759a(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined4 in_ECX;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  int unaff_EBP;\n  \n  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }\n  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }\n                    \n  FUN_00217770();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 in_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (if_statement "if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8))" ( (binary_expression "*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)" (pointer_expression "*(int *)(unaff_EBP + -100)" * (cast_expression "(int *)(unaff_EBP + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -100)" ( (binary_expression "unaff_EBP + -100" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_EBP + -0xd8)" * (cast_expression "(int *)(unaff_EBP + -0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xd8)" ( (binary_expression "unaff_EBP + -0xd8" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -100));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -100))" identifier (argument_list "(*(int *)(unaff_EBP + -100))" ( (pointer_expression "*(int *)(unaff_EBP + -100)" * (cast_expression "(int *)(unaff_EBP + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -100)" ( (binary_expression "unaff_EBP + -100" identifier + number_literal) )))) ))) ;) (expression_statement "in_ECX = extraout_ECX;" (assignment_expression "in_ECX = extraout_ECX" identifier = identifier) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98))" ( (binary_expression "*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)" (pointer_expression "*(int *)(unaff_EBP + -0xe0)" * (cast_expression "(int *)(unaff_EBP + -0xe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xe0)" ( (binary_expression "unaff_EBP + -0xe0" identifier + number_literal) )))) != (pointer_expression "**(int **)(unaff_EBP + -0x98)" * (pointer_expression "*(int **)(unaff_EBP + -0x98)" * (cast_expression "(int **)(unaff_EBP + -0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x98)" ( (binary_expression "unaff_EBP + -0x98" identifier + number_literal) )))))) )) (compound_statement "{\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }" { (expression_statement "FUN_001807a0(**(int **)(unaff_EBP + -0x98));" (call_expression "FUN_001807a0(**(int **)(unaff_EBP + -0x98))" identifier (argument_list "(**(int **)(unaff_EBP + -0x98))" ( (pointer_expression "**(int **)(unaff_EBP + -0x98)" * (pointer_expression "*(int **)(unaff_EBP + -0x98)" * (cast_expression "(int **)(unaff_EBP + -0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x98)" ( (binary_expression "unaff_EBP + -0x98" identifier + number_literal) ))))) ))) ;) (expression_statement "in_ECX = extraout_ECX_00;" (assignment_expression "in_ECX = extraout_ECX_00" identifier = identifier) ;) })) (expression_statement "iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);" (assignment_expression "iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" * (cast_expression "(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + -0xd4) + 0x1c)" ( (binary_expression "*(int *)(unaff_EBP + -0xd4) + 0x1c" (pointer_expression "*(int *)(unaff_EBP + -0xd4)" * (cast_expression "(int *)(unaff_EBP + -0xd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xd4)" ( (binary_expression "unaff_EBP + -0xd4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }" { (expression_statement "FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);" (call_expression "FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX)" identifier (argument_list "(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) , number_literal , identifier , identifier ))) ;) })) (expression_statement "FUN_00217770();" (call_expression "FUN_00217770()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_0002759a(void)\n\n{\n  int iVar1;\n  undefined4 in_ECX;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  int unaff_EBP;\n  \n  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }\n  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }\n                    \n  FUN_00217770();\n}" (primitive_type "void") (function_declarator "FUN_0002759a(void)" (identifier "FUN_0002759a") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 in_ECX;\n  undefined4 extraout_ECX;\n  undefined4 extraout_ECX_00;\n  int unaff_EBP;\n  \n  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }\n  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }\n                    \n  FUN_00217770();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 in_ECX;" (type_identifier "undefined4") (identifier "in_ECX") (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "undefined4 extraout_ECX_00;" (type_identifier "undefined4") (identifier "extraout_ECX_00") (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (if_statement "if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8))" (( "(") (binary_expression "*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)" (pointer_expression "*(int *)(unaff_EBP + -100)" (* "*") (cast_expression "(int *)(unaff_EBP + -100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -100)" (( "(") (binary_expression "unaff_EBP + -100" (identifier "unaff_EBP") (+ "+") (number_literal "-100")) () ")")))) (!= "!=") (pointer_expression "*(int *)(unaff_EBP + -0xd8)" (* "*") (cast_expression "(int *)(unaff_EBP + -0xd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0xd8)" (( "(") (binary_expression "unaff_EBP + -0xd8" (identifier "unaff_EBP") (+ "+") (number_literal "-0xd8")) () ")"))))) () ")")) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -100));\n    in_ECX = extraout_ECX;\n  }" ({ "{") (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -100));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -100))" (identifier "FUN_001807a0") (argument_list "(*(int *)(unaff_EBP + -100))" (( "(") (pointer_expression "*(int *)(unaff_EBP + -100)" (* "*") (cast_expression "(int *)(unaff_EBP + -100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -100)" (( "(") (binary_expression "unaff_EBP + -100" (identifier "unaff_EBP") (+ "+") (number_literal "-100")) () ")")))) () ")"))) (; ";")) (expression_statement "in_ECX = extraout_ECX;" (assignment_expression "in_ECX = extraout_ECX" (identifier "in_ECX") (= "=") (identifier "extraout_ECX")) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98))" (( "(") (binary_expression "*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)" (pointer_expression "*(int *)(unaff_EBP + -0xe0)" (* "*") (cast_expression "(int *)(unaff_EBP + -0xe0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0xe0)" (( "(") (binary_expression "unaff_EBP + -0xe0" (identifier "unaff_EBP") (+ "+") (number_literal "-0xe0")) () ")")))) (!= "!=") (pointer_expression "**(int **)(unaff_EBP + -0x98)" (* "*") (pointer_expression "*(int **)(unaff_EBP + -0x98)" (* "*") (cast_expression "(int **)(unaff_EBP + -0x98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EBP + -0x98)" (( "(") (binary_expression "unaff_EBP + -0x98" (identifier "unaff_EBP") (+ "+") (number_literal "-0x98")) () ")")))))) () ")")) (compound_statement "{\n    FUN_001807a0(**(int **)(unaff_EBP + -0x98));\n    in_ECX = extraout_ECX_00;\n  }" ({ "{") (expression_statement "FUN_001807a0(**(int **)(unaff_EBP + -0x98));" (call_expression "FUN_001807a0(**(int **)(unaff_EBP + -0x98))" (identifier "FUN_001807a0") (argument_list "(**(int **)(unaff_EBP + -0x98))" (( "(") (pointer_expression "**(int **)(unaff_EBP + -0x98)" (* "*") (pointer_expression "*(int **)(unaff_EBP + -0x98)" (* "*") (cast_expression "(int **)(unaff_EBP + -0x98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EBP + -0x98)" (( "(") (binary_expression "unaff_EBP + -0x98" (identifier "unaff_EBP") (+ "+") (number_literal "-0x98")) () ")"))))) () ")"))) (; ";")) (expression_statement "in_ECX = extraout_ECX_00;" (assignment_expression "in_ECX = extraout_ECX_00" (identifier "in_ECX") (= "=") (identifier "extraout_ECX_00")) (; ";")) (} "}"))) (expression_statement "iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);" (assignment_expression "iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EBP + -0xd4) + 0x1c)" (( "(") (binary_expression "*(int *)(unaff_EBP + -0xd4) + 0x1c" (pointer_expression "*(int *)(unaff_EBP + -0xd4)" (* "*") (cast_expression "(int *)(unaff_EBP + -0xd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0xd4)" (( "(") (binary_expression "unaff_EBP + -0xd4" (identifier "unaff_EBP") (+ "+") (number_literal "-0xd4")) () ")")))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar1 != 0) {\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);\n  }" ({ "{") (expression_statement "FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);" (call_expression "FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX)" (identifier "FUN_0005cd80") (argument_list "(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX)" (( "(") (binary_expression "iVar1 + 0x1c" (identifier "iVar1") (+ "+") (number_literal "0x1c")) (, ",") (number_literal "0xffffffff") (, ",") (identifier "in_ECX") (, ",") (identifier "in_ECX") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00217770();" (call_expression "FUN_00217770()" (identifier "FUN_00217770") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* gold::get_section_contents(bool, std::pair<gold::Relobj*, unsigned int> const&, unsigned int,
   unsigned int*, gold::Symbol_table*, std::vector<unsigned int, std::allocator<unsigned int> >
   const&, std::vector<std::string, std::allocator<std::string > >*) [clone .cold.297] */

void gold::function_1
               (bool param_1,type_1 *param_2,type_2 param_3,type_2 *param_4,type_3 *param_5,
               type_4 *param_6,type_4 *param_7)

{
  int var_3;
  int var_1;
  
  if (*(void **)(var_1 + -100) != *(void **)(var_1 + -0xd8)) {
    var_2(*(void **)(var_1 + -100));
  }
  if (*(void **)(var_1 + -0xe0) != (void *)**(type_5 **)(var_1 + -0x98)) {
    var_2((void *)**(type_5 **)(var_1 + -0x98));
  }
  var_3 = *(int *)(*(int *)(var_1 + -0xd4) + 0x1c);
  if (var_3 != 0) {
    File_read::var_4((type_6 *)(var_3 + 0x1c),(type_7 *)0xffffffff);
  }
                    /* WARNING: Subroutine does not return */
  var_5();
}


(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)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (identifier) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

void MASKED(void)

{
  int iVar1;
  undefined4 in_ECX;
  undefined4 extraout_ECX;
  undefined4 extraout_ECX_00;
  int unaff_EBP;
  
  if (*(int *)(unaff_EBP + -100) != *(int *)(unaff_EBP + -0xd8)) {
    FUN_001807a0(*(int *)(unaff_EBP + -100));
    in_ECX = extraout_ECX;
  }
  if (*(int *)(unaff_EBP + -0xe0) != **(int **)(unaff_EBP + -0x98)) {
    FUN_001807a0(**(int **)(unaff_EBP + -0x98));
    in_ECX = extraout_ECX_00;
  }
  iVar1 = *(int *)(*(int *)(unaff_EBP + -0xd4) + 0x1c);
  if (iVar1 != 0) {
    FUN_0005cd80(iVar1 + 0x1c,0xffffffff,in_ECX,in_ECX);
  }
                    /* WARNING: Subroutine does not return */
  FUN_00217770();
}

