
/* gold::Archive::Archive(std::string const&, gold::Input_file*, bool, gold::Dirsearch*,
   gold::Task*) [clone .cold.289] */

void __thiscall
gold::Archive::Archive
          (Archive *this,string *param_1,Input_file *param_2,bool param_3,Dirsearch *param_4,
          Task *param_5)

{
  int unaff_EBP;
  int unaff_ESI;
  int in_stack_fffffff4;
  _Link_type __x;
  
  std::
  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                 *)(unaff_ESI + 0xb0),in_stack_fffffff4);
  __x = *(_Link_type *)(unaff_ESI + 0x9c);
  std::
  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>
  ::_M_erase((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>
              *)(unaff_ESI + 0x94),__x);
  std::
  _Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                 *)(unaff_ESI + 0x78),(int)__x);
  if (*(void **)(unaff_ESI + 100) != (void *)0x0) {
    operator_delete(*(void **)(unaff_ESI + 100));
  }
  if (*(void **)(unaff_EBP + -0x24) != *(void **)(unaff_ESI + 0x4c)) {
    operator_delete(*(void **)(unaff_ESI + 0x4c));
  }
  if (*(void **)(unaff_EBP + -0x1c) != *(void **)(unaff_ESI + 0x34)) {
    operator_delete(*(void **)(unaff_ESI + 0x34));
  }
  if (*(void **)(unaff_ESI + 0x28) != (void *)0x0) {
    operator_delete(*(void **)(unaff_ESI + 0x28));
  }
  if (*(void **)(unaff_EBP + -0x20) != *(void **)(unaff_ESI + 0xc)) {
    operator_delete(*(void **)(unaff_ESI + 0xc));
  }
                    /* WARNING: Subroutine does not return */
  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x28));
}



void FUN_00030eaa(void)

{
  int unaff_EBP;
  int unaff_ESI;
  
  FUN_00197cc0(unaff_ESI + 0xb0);
  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));
  FUN_00197c40(unaff_ESI + 0x78);
  if (*(int *)(unaff_ESI + 100) != 0) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 100));
  }
  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));
  }
  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));
  }
  if (*(int *)(unaff_ESI + 0x28) != 0) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));
  }
  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));
  }
                    /* WARNING: Subroutine does not return */
  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));
}


SUB ESP,0xc
LEA EAX,[ESI + 0xb0]
PUSH EAX
CALL 0x00197cc0
POP EAX
LEA EAX,[ESI + 0x94]
POP EDX
PUSH dword ptr [ESI + 0x9c]
PUSH EAX
CALL 0x00197e80
LEA EAX,[ESI + 0x78]
MOV dword ptr [ESP],EAX
CALL 0x00197c40
MOV EAX,dword ptr [ESI + 0x64]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00030ef0
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x001e6dc0
ADD ESP,0x10
MOV EAX,dword ptr [ESI + 0x4c]
CMP dword ptr [EBP + -0x24],EAX
JZ 0x00030f06
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x001e6dc0
ADD ESP,0x10
MOV EAX,dword ptr [ESI + 0x34]
CMP dword ptr [EBP + -0x1c],EAX
JZ 0x00030f1c
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x001e6dc0
ADD ESP,0x10
MOV EAX,dword ptr [ESI + 0x28]
TEST EAX,EAX
JZ 0x00030f31
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x001e6dc0
ADD ESP,0x10
MOV EAX,dword ptr [ESI + 0xc]
CMP dword ptr [EBP + -0x20],EAX
JZ 0x00030f47
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x001e6dc0
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBP + -0x28]
MOV EBX,EDI
CALL 0x0027dd90
(translation_unit "void FUN_00030eaa(void)\n\n{\n  int unaff_EBP;\n  int unaff_ESI;\n  \n  FUN_00197cc0(unaff_ESI + 0xb0);\n  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));\n  FUN_00197c40(unaff_ESI + 0x78);\n  if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }\n  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }\n  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }\n  if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }\n  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));\n}\n\n" (function_definition "void FUN_00030eaa(void)\n\n{\n  int unaff_EBP;\n  int unaff_ESI;\n  \n  FUN_00197cc0(unaff_ESI + 0xb0);\n  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));\n  FUN_00197c40(unaff_ESI + 0x78);\n  if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }\n  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }\n  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }\n  if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }\n  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));\n}" primitive_type (function_declarator "FUN_00030eaa(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int unaff_EBP;\n  int unaff_ESI;\n  \n  FUN_00197cc0(unaff_ESI + 0xb0);\n  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));\n  FUN_00197c40(unaff_ESI + 0x78);\n  if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }\n  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }\n  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }\n  if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }\n  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));\n}" { (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int unaff_ESI;" primitive_type identifier ;) (expression_statement "FUN_00197cc0(unaff_ESI + 0xb0);" (call_expression "FUN_00197cc0(unaff_ESI + 0xb0)" identifier (argument_list "(unaff_ESI + 0xb0)" ( (binary_expression "unaff_ESI + 0xb0" identifier + number_literal) ))) ;) (expression_statement "FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));" (call_expression "FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c))" identifier (argument_list "(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c))" ( (binary_expression "unaff_ESI + 0x94" identifier + number_literal) , (pointer_expression "*(undefined4 *)(unaff_ESI + 0x9c)" * (cast_expression "(undefined4 *)(unaff_ESI + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x9c)" ( (binary_expression "unaff_ESI + 0x9c" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_00197c40(unaff_ESI + 0x78);" (call_expression "FUN_00197c40(unaff_ESI + 0x78)" identifier (argument_list "(unaff_ESI + 0x78)" ( (binary_expression "unaff_ESI + 0x78" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 100) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 100) != 0" (pointer_expression "*(int *)(unaff_ESI + 100)" * (cast_expression "(int *)(unaff_ESI + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 100)" ( (binary_expression "unaff_ESI + 100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 100));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 100))" identifier (argument_list "(*(int *)(unaff_ESI + 100))" ( (pointer_expression "*(int *)(unaff_ESI + 100)" * (cast_expression "(int *)(unaff_ESI + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 100)" ( (binary_expression "unaff_ESI + 100" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c))" ( (binary_expression "*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)" (pointer_expression "*(int *)(unaff_EBP + -0x24)" * (cast_expression "(int *)(unaff_EBP + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x24)" ( (binary_expression "unaff_EBP + -0x24" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_ESI + 0x4c)" * (cast_expression "(int *)(unaff_ESI + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x4c)" ( (binary_expression "unaff_ESI + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c))" identifier (argument_list "(*(int *)(unaff_ESI + 0x4c))" ( (pointer_expression "*(int *)(unaff_ESI + 0x4c)" * (cast_expression "(int *)(unaff_ESI + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x4c)" ( (binary_expression "unaff_ESI + 0x4c" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34))" ( (binary_expression "*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)" (pointer_expression "*(int *)(unaff_EBP + -0x1c)" * (cast_expression "(int *)(unaff_EBP + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x1c)" ( (binary_expression "unaff_EBP + -0x1c" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_ESI + 0x34)" * (cast_expression "(int *)(unaff_ESI + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x34)" ( (binary_expression "unaff_ESI + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0x34))" identifier (argument_list "(*(int *)(unaff_ESI + 0x34))" ( (pointer_expression "*(int *)(unaff_ESI + 0x34)" * (cast_expression "(int *)(unaff_ESI + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x34)" ( (binary_expression "unaff_ESI + 0x34" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x28) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x28) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x28)" * (cast_expression "(int *)(unaff_ESI + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x28)" ( (binary_expression "unaff_ESI + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0x28))" identifier (argument_list "(*(int *)(unaff_ESI + 0x28))" ( (pointer_expression "*(int *)(unaff_ESI + 0x28)" * (cast_expression "(int *)(unaff_ESI + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x28)" ( (binary_expression "unaff_ESI + 0x28" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc))" ( (binary_expression "*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)" (pointer_expression "*(int *)(unaff_EBP + -0x20)" * (cast_expression "(int *)(unaff_EBP + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x20)" ( (binary_expression "unaff_EBP + -0x20" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_ESI + 0xc)" * (cast_expression "(int *)(unaff_ESI + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0xc)" ( (binary_expression "unaff_ESI + 0xc" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0xc))" identifier (argument_list "(*(int *)(unaff_ESI + 0xc))" ( (pointer_expression "*(int *)(unaff_ESI + 0xc)" * (cast_expression "(int *)(unaff_ESI + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0xc)" ( (binary_expression "unaff_ESI + 0xc" identifier + number_literal) )))) ))) ;) })) comment (expression_statement "FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));" (call_expression "FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x28))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x28)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x28)" ( (binary_expression "unaff_EBP + -0x28" identifier + number_literal) )))) ))) ;) })))
(translation_unit "/* gold::Archive::Archive(std::string const&, gold::Input_file*, bool, gold::Dirsearch*,\n   gold::Task*) [clone .cold.289] */\n\nvoid __thiscall\ngold::Archive::Archive\n          (Archive *this,string *param_1,Input_file *param_2,bool param_3,Dirsearch *param_4,\n          Task *param_5)\n\n{\n  int unaff_EBP;\n  int unaff_ESI;\n  int in_stack_fffffff4;\n  _Link_type __x;\n  \n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4);\n  __x = *(_Link_type *)(unaff_ESI + 0x9c);\n  std::\n  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n  ::_M_erase((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n              *)(unaff_ESI + 0x94),__x);\n  std::\n  _Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x);\n  if (*(void **)(unaff_ESI + 100) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_ESI + 100));\n  }\n  if (*(void **)(unaff_EBP + -0x24) != *(void **)(unaff_ESI + 0x4c)) {\n    operator_delete(*(void **)(unaff_ESI + 0x4c));\n  }\n  if (*(void **)(unaff_EBP + -0x1c) != *(void **)(unaff_ESI + 0x34)) {\n    operator_delete(*(void **)(unaff_ESI + 0x34));\n  }\n  if (*(void **)(unaff_ESI + 0x28) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_ESI + 0x28));\n  }\n  if (*(void **)(unaff_EBP + -0x20) != *(void **)(unaff_ESI + 0xc)) {\n    operator_delete(*(void **)(unaff_ESI + 0xc));\n  }\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x28));\n}\n\n" comment (function_definition "void __thiscall\ngold::Archive::Archive\n          (Archive *this,string *param_1,Input_file *param_2,bool param_3,Dirsearch *param_4,\n          Task *param_5)\n\n{\n  int unaff_EBP;\n  int unaff_ESI;\n  int in_stack_fffffff4;\n  _Link_type __x;\n  \n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4);\n  __x = *(_Link_type *)(unaff_ESI + 0x9c);\n  std::\n  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n  ::_M_erase((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n              *)(unaff_ESI + 0x94),__x);\n  std::\n  _Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x);\n  if (*(void **)(unaff_ESI + 100) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_ESI + 100));\n  }\n  if (*(void **)(unaff_EBP + -0x24) != *(void **)(unaff_ESI + 0x4c)) {\n    operator_delete(*(void **)(unaff_ESI + 0x4c));\n  }\n  if (*(void **)(unaff_EBP + -0x1c) != *(void **)(unaff_ESI + 0x34)) {\n    operator_delete(*(void **)(unaff_ESI + 0x34));\n  }\n  if (*(void **)(unaff_ESI + 0x28) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_ESI + 0x28));\n  }\n  if (*(void **)(unaff_EBP + -0x20) != *(void **)(unaff_ESI + 0xc)) {\n    operator_delete(*(void **)(unaff_ESI + 0xc));\n  }\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x28));\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Archive::" identifier : : identifier : :) (function_declarator "Archive\n          (Archive *this,string *param_1,Input_file *param_2,bool param_3,Dirsearch *param_4,\n          Task *param_5)" identifier (parameter_list "(Archive *this,string *param_1,Input_file *param_2,bool param_3,Dirsearch *param_4,\n          Task *param_5)" ( (parameter_declaration "Archive *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "string *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Input_file *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "bool param_3" primitive_type identifier) , (parameter_declaration "Dirsearch *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "Task *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  int unaff_EBP;\n  int unaff_ESI;\n  int in_stack_fffffff4;\n  _Link_type __x;\n  \n  std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4);\n  __x = *(_Link_type *)(unaff_ESI + 0x9c);\n  std::\n  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n  ::_M_erase((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n              *)(unaff_ESI + 0x94),__x);\n  std::\n  _Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x);\n  if (*(void **)(unaff_ESI + 100) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_ESI + 100));\n  }\n  if (*(void **)(unaff_EBP + -0x24) != *(void **)(unaff_ESI + 0x4c)) {\n    operator_delete(*(void **)(unaff_ESI + 0x4c));\n  }\n  if (*(void **)(unaff_EBP + -0x1c) != *(void **)(unaff_ESI + 0x34)) {\n    operator_delete(*(void **)(unaff_ESI + 0x34));\n  }\n  if (*(void **)(unaff_ESI + 0x28) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_ESI + 0x28));\n  }\n  if (*(void **)(unaff_EBP + -0x20) != *(void **)(unaff_ESI + 0xc)) {\n    operator_delete(*(void **)(unaff_ESI + 0xc));\n  }\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x28));\n}" { (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int unaff_ESI;" primitive_type identifier ;) (declaration "int in_stack_fffffff4;" primitive_type identifier ;) (declaration "_Link_type __x;" type_identifier identifier ;) (ERROR "std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n  _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Archive*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Archive*>_>,_std" (binary_expression "Archive*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4)" ~ (call_expression "_Hashtable((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4)" identifier (argument_list "((_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0),in_stack_fffffff4)" ( (call_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)(unaff_ESI + 0xb0)" (parenthesized_expression "(_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                 *)" ( (ERROR "_Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_gold::Archive*>_>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::__cxx11::basic_string<char,_std" (binary_expression "_Hashtable<std::__cxx11::basic_string<char" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Archive*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_gold" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "Archive*>_>,_std" (binary_expression "Archive*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                 *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                 *" identifier , (binary_expression "_true>_>\n                 *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) (argument_list "(unaff_ESI + 0xb0)" ( (binary_expression "unaff_ESI + 0xb0" identifier + number_literal) ))) , identifier ))))))) ;))))) (expression_statement "__x = *(_Link_type *)(unaff_ESI + 0x9c);" (assignment_expression "__x = *(_Link_type *)(unaff_ESI + 0x9c)" identifier = (pointer_expression "*(_Link_type *)(unaff_ESI + 0x9c)" * (cast_expression "(_Link_type *)(unaff_ESI + 0x9c)" ( (type_descriptor "_Link_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x9c)" ( (binary_expression "unaff_ESI + 0x9c" identifier + number_literal) ))))) ;) (ERROR "std::\n  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::" (comma_expression "std::\n  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std" identifier (ERROR "::\n  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>" : : (comma_expression "_Rb_tree<long_long_int,_std" (binary_expression "_Rb_tree<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : identifier >) , identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (binary_expression "Archive_member>_>,_std" (binary_expression "Archive_member>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<long_long_int>,_std" (binary_expression "less<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : :) (expression_statement "Archive_member>_>_>\n  ::_M_erase((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n              *)(unaff_ESI + 0x94),__x);" (binary_expression "Archive_member>_>_>\n  ::_M_erase((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n              *)(unaff_ESI + 0x94),__x)" (binary_expression "Archive_member>_>_" (binary_expression "Archive_member>_" identifier > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_erase((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n              *)(unaff_ESI + 0x94),__x)" identifier (argument_list "((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n              *)(unaff_ESI + 0x94),__x)" ( (call_expression "(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n              *)(unaff_ESI + 0x94)" (parenthesized_expression "(_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::Archive_member>_>_>\n              *)" ( (ERROR "_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::Archive_member>,_std::_Select1st<std::pair<long_long_int_const,_gold::Archive_member>_>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::" (comma_expression "_Rb_tree<long_long_int,_std" (binary_expression "_Rb_tree<long_long_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (binary_expression "Archive_member>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : : (binary_expression "Archive_member>_>,_std" (binary_expression "Archive_member>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<long_long_int>,_std" (binary_expression "less<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int_const,_gold" (binary_expression "pair<long_long_int_const" identifier < identifier) , identifier) : :) (binary_expression "Archive_member>_>_>\n              *" (binary_expression "Archive_member>_>_" (binary_expression "Archive_member>_" identifier > identifier) > identifier) > (pointer_expression "*" * identifier)) )) (argument_list "(unaff_ESI + 0x94)" ( (binary_expression "unaff_ESI + 0x94" identifier + number_literal) ))) , identifier )))) ;) (ERROR "std::\n  _Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::" (comma_expression "std::\n  _Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std" identifier (ERROR "::\n  _Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>" : : (comma_expression "_Hashtable<long_long_int,_long_long_int,_std" (binary_expression "_Hashtable<long_long_int" identifier < identifier) , (comma_expression "_long_long_int,_std" identifier , identifier)) : : (binary_expression "allocator<long_long_int" identifier < identifier) >) , identifier) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_int>,_gold" (binary_expression "equal_to<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x);" statement_identifier (ERROR "::Seen_hash,_std:" : : (comma_expression "Seen_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x)" ~ (call_expression "_Hashtable((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x)" identifier (argument_list "((_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78),(int)__x)" ( (call_expression "(_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)(unaff_ESI + 0x78)" (parenthesized_expression "(_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)" ( (ERROR "_Hashtable<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<long_long_int,_long_long_int,_std" (binary_expression "_Hashtable<long_long_int" identifier < identifier) , (comma_expression "_long_long_int,_std" identifier , identifier)) : : (binary_expression "allocator<long_long_int>,_std" (binary_expression "allocator<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_int>,_gold" (binary_expression "equal_to<long_long_int" identifier < identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "Seen_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                 *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                 *" identifier , (binary_expression "_true>_>\n                 *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) (argument_list "(unaff_ESI + 0x78)" ( (binary_expression "unaff_ESI + 0x78" identifier + number_literal) ))) , (cast_expression "(int)__x" ( (type_descriptor "int" primitive_type) ) identifier) ))))))) ;)))))) (if_statement "if (*(void **)(unaff_ESI + 100) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_ESI + 100));\n  }" if (parenthesized_expression "(*(void **)(unaff_ESI + 100) != (void *)0x0)" ( (binary_expression "*(void **)(unaff_ESI + 100) != (void *)0x0" (pointer_expression "*(void **)(unaff_ESI + 100)" * (cast_expression "(void **)(unaff_ESI + 100)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 100)" ( (binary_expression "unaff_ESI + 100" identifier + number_literal) )))) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(*(void **)(unaff_ESI + 100));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_ESI + 100));" (call_expression "operator_delete(*(void **)(unaff_ESI + 100))" identifier (argument_list "(*(void **)(unaff_ESI + 100))" ( (pointer_expression "*(void **)(unaff_ESI + 100)" * (cast_expression "(void **)(unaff_ESI + 100)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 100)" ( (binary_expression "unaff_ESI + 100" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(void **)(unaff_EBP + -0x24) != *(void **)(unaff_ESI + 0x4c)) {\n    operator_delete(*(void **)(unaff_ESI + 0x4c));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0x24) != *(void **)(unaff_ESI + 0x4c))" ( (binary_expression "*(void **)(unaff_EBP + -0x24) != *(void **)(unaff_ESI + 0x4c)" (pointer_expression "*(void **)(unaff_EBP + -0x24)" * (cast_expression "(void **)(unaff_EBP + -0x24)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x24)" ( (binary_expression "unaff_EBP + -0x24" identifier + number_literal) )))) != (pointer_expression "*(void **)(unaff_ESI + 0x4c)" * (cast_expression "(void **)(unaff_ESI + 0x4c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 0x4c)" ( (binary_expression "unaff_ESI + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n    operator_delete(*(void **)(unaff_ESI + 0x4c));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_ESI + 0x4c));" (call_expression "operator_delete(*(void **)(unaff_ESI + 0x4c))" identifier (argument_list "(*(void **)(unaff_ESI + 0x4c))" ( (pointer_expression "*(void **)(unaff_ESI + 0x4c)" * (cast_expression "(void **)(unaff_ESI + 0x4c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 0x4c)" ( (binary_expression "unaff_ESI + 0x4c" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(void **)(unaff_EBP + -0x1c) != *(void **)(unaff_ESI + 0x34)) {\n    operator_delete(*(void **)(unaff_ESI + 0x34));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0x1c) != *(void **)(unaff_ESI + 0x34))" ( (binary_expression "*(void **)(unaff_EBP + -0x1c) != *(void **)(unaff_ESI + 0x34)" (pointer_expression "*(void **)(unaff_EBP + -0x1c)" * (cast_expression "(void **)(unaff_EBP + -0x1c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x1c)" ( (binary_expression "unaff_EBP + -0x1c" identifier + number_literal) )))) != (pointer_expression "*(void **)(unaff_ESI + 0x34)" * (cast_expression "(void **)(unaff_ESI + 0x34)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 0x34)" ( (binary_expression "unaff_ESI + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n    operator_delete(*(void **)(unaff_ESI + 0x34));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_ESI + 0x34));" (call_expression "operator_delete(*(void **)(unaff_ESI + 0x34))" identifier (argument_list "(*(void **)(unaff_ESI + 0x34))" ( (pointer_expression "*(void **)(unaff_ESI + 0x34)" * (cast_expression "(void **)(unaff_ESI + 0x34)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 0x34)" ( (binary_expression "unaff_ESI + 0x34" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(void **)(unaff_ESI + 0x28) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_ESI + 0x28));\n  }" if (parenthesized_expression "(*(void **)(unaff_ESI + 0x28) != (void *)0x0)" ( (binary_expression "*(void **)(unaff_ESI + 0x28) != (void *)0x0" (pointer_expression "*(void **)(unaff_ESI + 0x28)" * (cast_expression "(void **)(unaff_ESI + 0x28)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 0x28)" ( (binary_expression "unaff_ESI + 0x28" identifier + number_literal) )))) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(*(void **)(unaff_ESI + 0x28));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_ESI + 0x28));" (call_expression "operator_delete(*(void **)(unaff_ESI + 0x28))" identifier (argument_list "(*(void **)(unaff_ESI + 0x28))" ( (pointer_expression "*(void **)(unaff_ESI + 0x28)" * (cast_expression "(void **)(unaff_ESI + 0x28)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 0x28)" ( (binary_expression "unaff_ESI + 0x28" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(void **)(unaff_EBP + -0x20) != *(void **)(unaff_ESI + 0xc)) {\n    operator_delete(*(void **)(unaff_ESI + 0xc));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0x20) != *(void **)(unaff_ESI + 0xc))" ( (binary_expression "*(void **)(unaff_EBP + -0x20) != *(void **)(unaff_ESI + 0xc)" (pointer_expression "*(void **)(unaff_EBP + -0x20)" * (cast_expression "(void **)(unaff_EBP + -0x20)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x20)" ( (binary_expression "unaff_EBP + -0x20" identifier + number_literal) )))) != (pointer_expression "*(void **)(unaff_ESI + 0xc)" * (cast_expression "(void **)(unaff_ESI + 0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 0xc)" ( (binary_expression "unaff_ESI + 0xc" identifier + number_literal) ))))) )) (compound_statement "{\n    operator_delete(*(void **)(unaff_ESI + 0xc));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_ESI + 0xc));" (call_expression "operator_delete(*(void **)(unaff_ESI + 0xc))" identifier (argument_list "(*(void **)(unaff_ESI + 0xc))" ( (pointer_expression "*(void **)(unaff_ESI + 0xc)" * (cast_expression "(void **)(unaff_ESI + 0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_ESI + 0xc)" ( (binary_expression "unaff_ESI + 0xc" identifier + number_literal) )))) ))) ;) })) comment (expression_statement "_Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x28));" (call_expression "_Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x28))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x28))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x28)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x28)" ( (binary_expression "unaff_EBP + -0x28" identifier + number_literal) )))) ))) ;) })))
(translation_unit "void FUN_00030eaa(void)\n\n{\n  int unaff_EBP;\n  int unaff_ESI;\n  \n  FUN_00197cc0(unaff_ESI + 0xb0);\n  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));\n  FUN_00197c40(unaff_ESI + 0x78);\n  if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }\n  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }\n  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }\n  if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }\n  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }\n                    \n  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));\n}\n\n" (function_definition "void FUN_00030eaa(void)\n\n{\n  int unaff_EBP;\n  int unaff_ESI;\n  \n  FUN_00197cc0(unaff_ESI + 0xb0);\n  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));\n  FUN_00197c40(unaff_ESI + 0x78);\n  if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }\n  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }\n  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }\n  if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }\n  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }\n                    \n  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));\n}" primitive_type (function_declarator "FUN_00030eaa(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int unaff_EBP;\n  int unaff_ESI;\n  \n  FUN_00197cc0(unaff_ESI + 0xb0);\n  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));\n  FUN_00197c40(unaff_ESI + 0x78);\n  if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }\n  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }\n  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }\n  if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }\n  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }\n                    \n  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));\n}" { (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int unaff_ESI;" primitive_type identifier ;) (expression_statement "FUN_00197cc0(unaff_ESI + 0xb0);" (call_expression "FUN_00197cc0(unaff_ESI + 0xb0)" identifier (argument_list "(unaff_ESI + 0xb0)" ( (binary_expression "unaff_ESI + 0xb0" identifier + number_literal) ))) ;) (expression_statement "FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));" (call_expression "FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c))" identifier (argument_list "(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c))" ( (binary_expression "unaff_ESI + 0x94" identifier + number_literal) , (pointer_expression "*(undefined4 *)(unaff_ESI + 0x9c)" * (cast_expression "(undefined4 *)(unaff_ESI + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x9c)" ( (binary_expression "unaff_ESI + 0x9c" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_00197c40(unaff_ESI + 0x78);" (call_expression "FUN_00197c40(unaff_ESI + 0x78)" identifier (argument_list "(unaff_ESI + 0x78)" ( (binary_expression "unaff_ESI + 0x78" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 100) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 100) != 0" (pointer_expression "*(int *)(unaff_ESI + 100)" * (cast_expression "(int *)(unaff_ESI + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 100)" ( (binary_expression "unaff_ESI + 100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 100));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 100))" identifier (argument_list "(*(int *)(unaff_ESI + 100))" ( (pointer_expression "*(int *)(unaff_ESI + 100)" * (cast_expression "(int *)(unaff_ESI + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 100)" ( (binary_expression "unaff_ESI + 100" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c))" ( (binary_expression "*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)" (pointer_expression "*(int *)(unaff_EBP + -0x24)" * (cast_expression "(int *)(unaff_EBP + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x24)" ( (binary_expression "unaff_EBP + -0x24" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_ESI + 0x4c)" * (cast_expression "(int *)(unaff_ESI + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x4c)" ( (binary_expression "unaff_ESI + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c))" identifier (argument_list "(*(int *)(unaff_ESI + 0x4c))" ( (pointer_expression "*(int *)(unaff_ESI + 0x4c)" * (cast_expression "(int *)(unaff_ESI + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x4c)" ( (binary_expression "unaff_ESI + 0x4c" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34))" ( (binary_expression "*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)" (pointer_expression "*(int *)(unaff_EBP + -0x1c)" * (cast_expression "(int *)(unaff_EBP + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x1c)" ( (binary_expression "unaff_EBP + -0x1c" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_ESI + 0x34)" * (cast_expression "(int *)(unaff_ESI + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x34)" ( (binary_expression "unaff_ESI + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0x34))" identifier (argument_list "(*(int *)(unaff_ESI + 0x34))" ( (pointer_expression "*(int *)(unaff_ESI + 0x34)" * (cast_expression "(int *)(unaff_ESI + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x34)" ( (binary_expression "unaff_ESI + 0x34" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x28) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x28) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x28)" * (cast_expression "(int *)(unaff_ESI + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x28)" ( (binary_expression "unaff_ESI + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0x28))" identifier (argument_list "(*(int *)(unaff_ESI + 0x28))" ( (pointer_expression "*(int *)(unaff_ESI + 0x28)" * (cast_expression "(int *)(unaff_ESI + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x28)" ( (binary_expression "unaff_ESI + 0x28" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc))" ( (binary_expression "*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)" (pointer_expression "*(int *)(unaff_EBP + -0x20)" * (cast_expression "(int *)(unaff_EBP + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x20)" ( (binary_expression "unaff_EBP + -0x20" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_ESI + 0xc)" * (cast_expression "(int *)(unaff_ESI + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0xc)" ( (binary_expression "unaff_ESI + 0xc" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }" { (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0xc))" identifier (argument_list "(*(int *)(unaff_ESI + 0xc))" ( (pointer_expression "*(int *)(unaff_ESI + 0xc)" * (cast_expression "(int *)(unaff_ESI + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0xc)" ( (binary_expression "unaff_ESI + 0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));" (call_expression "FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x28))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x28)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x28)" ( (binary_expression "unaff_EBP + -0x28" identifier + number_literal) )))) ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != 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) )))) ))) ;) })) (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) )))) ))) ;) })) (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) )))) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != 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) )))) ))) ;) })) (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 (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })))
(function_definition "void FUN_00030eaa(void)\n\n{\n  int unaff_EBP;\n  int unaff_ESI;\n  \n  FUN_00197cc0(unaff_ESI + 0xb0);\n  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));\n  FUN_00197c40(unaff_ESI + 0x78);\n  if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }\n  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }\n  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }\n  if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }\n  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }\n                    \n  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));\n}" (primitive_type "void") (function_declarator "FUN_00030eaa(void)" (identifier "FUN_00030eaa") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int unaff_EBP;\n  int unaff_ESI;\n  \n  FUN_00197cc0(unaff_ESI + 0xb0);\n  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));\n  FUN_00197c40(unaff_ESI + 0x78);\n  if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }\n  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }\n  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }\n  if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }\n  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }\n                    \n  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));\n}" ({ "{") (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "int unaff_ESI;" (primitive_type "int") (identifier "unaff_ESI") (; ";")) (expression_statement "FUN_00197cc0(unaff_ESI + 0xb0);" (call_expression "FUN_00197cc0(unaff_ESI + 0xb0)" (identifier "FUN_00197cc0") (argument_list "(unaff_ESI + 0xb0)" (( "(") (binary_expression "unaff_ESI + 0xb0" (identifier "unaff_ESI") (+ "+") (number_literal "0xb0")) () ")"))) (; ";")) (expression_statement "FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));" (call_expression "FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c))" (identifier "FUN_00197e80") (argument_list "(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c))" (( "(") (binary_expression "unaff_ESI + 0x94" (identifier "unaff_ESI") (+ "+") (number_literal "0x94")) (, ",") (pointer_expression "*(undefined4 *)(unaff_ESI + 0x9c)" (* "*") (cast_expression "(undefined4 *)(unaff_ESI + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x9c)" (( "(") (binary_expression "unaff_ESI + 0x9c" (identifier "unaff_ESI") (+ "+") (number_literal "0x9c")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_00197c40(unaff_ESI + 0x78);" (call_expression "FUN_00197c40(unaff_ESI + 0x78)" (identifier "FUN_00197c40") (argument_list "(unaff_ESI + 0x78)" (( "(") (binary_expression "unaff_ESI + 0x78" (identifier "unaff_ESI") (+ "+") (number_literal "0x78")) () ")"))) (; ";")) (if_statement "if (*(int *)(unaff_ESI + 100) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_ESI + 100) != 0)" (( "(") (binary_expression "*(int *)(unaff_ESI + 100) != 0" (pointer_expression "*(int *)(unaff_ESI + 100)" (* "*") (cast_expression "(int *)(unaff_ESI + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 100)" (( "(") (binary_expression "unaff_ESI + 100" (identifier "unaff_ESI") (+ "+") (number_literal "100")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 100));\n  }" ({ "{") (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 100));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 100))" (identifier "FUN_001e6dc0") (argument_list "(*(int *)(unaff_ESI + 100))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 100)" (* "*") (cast_expression "(int *)(unaff_ESI + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 100)" (( "(") (binary_expression "unaff_ESI + 100" (identifier "unaff_ESI") (+ "+") (number_literal "100")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c))" (( "(") (binary_expression "*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)" (pointer_expression "*(int *)(unaff_EBP + -0x24)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x24)" (( "(") (binary_expression "unaff_EBP + -0x24" (identifier "unaff_EBP") (+ "+") (number_literal "-0x24")) () ")")))) (!= "!=") (pointer_expression "*(int *)(unaff_ESI + 0x4c)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x4c)" (( "(") (binary_expression "unaff_ESI + 0x4c" (identifier "unaff_ESI") (+ "+") (number_literal "0x4c")) () ")"))))) () ")")) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));\n  }" ({ "{") (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c))" (identifier "FUN_001e6dc0") (argument_list "(*(int *)(unaff_ESI + 0x4c))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 0x4c)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x4c)" (( "(") (binary_expression "unaff_ESI + 0x4c" (identifier "unaff_ESI") (+ "+") (number_literal "0x4c")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34))" (( "(") (binary_expression "*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)" (pointer_expression "*(int *)(unaff_EBP + -0x1c)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x1c)" (( "(") (binary_expression "unaff_EBP + -0x1c" (identifier "unaff_EBP") (+ "+") (number_literal "-0x1c")) () ")")))) (!= "!=") (pointer_expression "*(int *)(unaff_ESI + 0x34)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x34)" (( "(") (binary_expression "unaff_ESI + 0x34" (identifier "unaff_ESI") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));\n  }" ({ "{") (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0x34))" (identifier "FUN_001e6dc0") (argument_list "(*(int *)(unaff_ESI + 0x34))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 0x34)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x34)" (( "(") (binary_expression "unaff_ESI + 0x34" (identifier "unaff_ESI") (+ "+") (number_literal "0x34")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_ESI + 0x28) != 0) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_ESI + 0x28) != 0)" (( "(") (binary_expression "*(int *)(unaff_ESI + 0x28) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x28)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x28)" (( "(") (binary_expression "unaff_ESI + 0x28" (identifier "unaff_ESI") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));\n  }" ({ "{") (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0x28))" (identifier "FUN_001e6dc0") (argument_list "(*(int *)(unaff_ESI + 0x28))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 0x28)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x28)" (( "(") (binary_expression "unaff_ESI + 0x28" (identifier "unaff_ESI") (+ "+") (number_literal "0x28")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc))" (( "(") (binary_expression "*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)" (pointer_expression "*(int *)(unaff_EBP + -0x20)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x20)" (( "(") (binary_expression "unaff_EBP + -0x20" (identifier "unaff_EBP") (+ "+") (number_literal "-0x20")) () ")")))) (!= "!=") (pointer_expression "*(int *)(unaff_ESI + 0xc)" (* "*") (cast_expression "(int *)(unaff_ESI + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0xc)" (( "(") (binary_expression "unaff_ESI + 0xc" (identifier "unaff_ESI") (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (compound_statement "{\n    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));\n  }" ({ "{") (expression_statement "FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));" (call_expression "FUN_001e6dc0(*(int *)(unaff_ESI + 0xc))" (identifier "FUN_001e6dc0") (argument_list "(*(int *)(unaff_ESI + 0xc))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 0xc)" (* "*") (cast_expression "(int *)(unaff_ESI + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0xc)" (( "(") (binary_expression "unaff_ESI + 0xc" (identifier "unaff_ESI") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));" (call_expression "FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28))" (identifier "FUN_0027dd90") (argument_list "(*(undefined4 *)(unaff_EBP + -0x28))" (( "(") (pointer_expression "*(undefined4 *)(unaff_EBP + -0x28)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x28)" (( "(") (binary_expression "unaff_EBP + -0x28" (identifier "unaff_EBP") (+ "+") (number_literal "-0x28")) () ")")))) () ")"))) (; ";")) (} "}")))

/* gold::Archive::Archive(std::string const&, gold::Input_file*, bool, gold::Dirsearch*,
   gold::Task*) [clone .cold.289] */

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

{
  int var_9;
  int var_5;
  int in_stack_fffffff4;
  type_5 __x;
  
  std::
  var_4<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>,_gold::function_1*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>,_gold::function_1*>var_3>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>var_3>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_1<true,_false,var_2>var_3>
  ::~var_4((var_4<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>,_gold::function_1*>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>,_gold::function_1*>var_3>,_std::__detail::_Select1st,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>var_3>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_1<true,_false,var_2>var_3>
                 *)(var_5 + 0xb0),in_stack_fffffff4);
  __x = *(type_5 *)(var_5 + 0x9c);
  std::
  _Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::var_6>,_std::_Select1st<std::pair<long_long_int_const,_gold::var_6>var_3>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::var_6>var_3>var_3>
  ::var_7((_Rb_tree<long_long_int,_std::pair<long_long_int_const,_gold::var_6>,_std::_Select1st<std::pair<long_long_int_const,_gold::var_6>var_3>,_std::less<long_long_int>,_std::allocator<std::pair<long_long_int_const,_gold::var_6>var_3>var_3>
              *)(var_5 + 0x94),__x);
  std::
  var_4<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::Archive::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_1<true,var_2,var_2>var_3>
  ::~var_4((var_4<long_long_int,_long_long_int,_std::allocator<long_long_int>,_std::__detail::_Identity,_std::equal_to<long_long_int>,_gold::function_1::Seen_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_1<true,var_2,var_2>var_3>
                 *)(var_5 + 0x78),(int)__x);
  if (*(void **)(var_5 + 100) != (void *)0x0) {
    var_8(*(void **)(var_5 + 100));
  }
  if (*(void **)(var_9 + -0x24) != *(void **)(var_5 + 0x4c)) {
    var_8(*(void **)(var_5 + 0x4c));
  }
  if (*(void **)(var_9 + -0x1c) != *(void **)(var_5 + 0x34)) {
    var_8(*(void **)(var_5 + 0x34));
  }
  if (*(void **)(var_5 + 0x28) != (void *)0x0) {
    var_8(*(void **)(var_5 + 0x28));
  }
  if (*(void **)(var_9 + -0x20) != *(void **)(var_5 + 0xc)) {
    var_8(*(void **)(var_5 + 0xc));
  }
                    /* WARNING: Subroutine does not return */
  var_10(*(type_6 *)(var_9 + -0x28));
}


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

void MASKED(void)

{
  int unaff_EBP;
  int unaff_ESI;
  
  FUN_00197cc0(unaff_ESI + 0xb0);
  FUN_00197e80(unaff_ESI + 0x94,*(undefined4 *)(unaff_ESI + 0x9c));
  FUN_00197c40(unaff_ESI + 0x78);
  if (*(int *)(unaff_ESI + 100) != 0) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 100));
  }
  if (*(int *)(unaff_EBP + -0x24) != *(int *)(unaff_ESI + 0x4c)) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 0x4c));
  }
  if (*(int *)(unaff_EBP + -0x1c) != *(int *)(unaff_ESI + 0x34)) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 0x34));
  }
  if (*(int *)(unaff_ESI + 0x28) != 0) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 0x28));
  }
  if (*(int *)(unaff_EBP + -0x20) != *(int *)(unaff_ESI + 0xc)) {
    FUN_001e6dc0(*(int *)(unaff_ESI + 0xc));
  }
                    /* WARNING: Subroutine does not return */
  FUN_0027dd90(*(undefined4 *)(unaff_EBP + -0x28));
}

