
void FUN_0003b548(void)

{
  void *pvVar1;
  __bucket_type *pp_Var2;
  undefined4 extraout_ECX;
  int unaff_EBP;
  Sized_relobj_file<32,_true> *unaff_ESI;
  int in_stack_fffffff4;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  
  pvVar1 = (void *)unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.
                   _M_element_count;
  if (pvVar1 != (void *)0x0) {
    operator_delete(pvVar1);
  }
  pp_Var2 = unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_buckets;
  if (pp_Var2 != (__bucket_type *)0x0) {
    operator_delete(pp_Var2);
  }
  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate
            ((_Bvector_base<std::allocator<bool>_> *)
             &unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.sd_);
  std::
  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,
                in_stack_fffffff4);
  pvVar1 = *(void **)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c
  ;
  if (pvVar1 != (void *)0x0) {
    operator_delete(pvVar1);
  }
  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate
            ((_Bvector_base<std::allocator<bool>_> *)
             ((int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.
                    field_2 + 0xc));
  gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_ESI,in_stack_fffffff4);
  uVar3 = 0x1c0;
  uVar4 = extraout_ECX;
  uVar5 = extraout_ECX;
  operator_delete(unaff_ESI,0x1c0);
                    /* WARNING: Subroutine does not return */
  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x20),uVar3,uVar4,uVar5);
}



void FUN_0003b548(void)

{
  undefined4 extraout_ECX;
  int unaff_EBP;
  int unaff_ESI;
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  
  if (*(int *)(unaff_ESI + 0x1b0) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));
  }
  if (*(int *)(unaff_ESI + 0x1a4) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));
  }
  FUN_00103a90(unaff_ESI + 400);
  FUN_001037f0(unaff_ESI + 0x174);
  if (*(int *)(unaff_ESI + 0x168) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x168));
  }
  FUN_00103a90(unaff_ESI + 0x154);
  FUN_002b2620();
  uVar1 = 0x1c0;
  uVar2 = extraout_ECX;
  uVar3 = extraout_ECX;
  FUN_003ae060();
                    /* WARNING: Subroutine does not return */
  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);
}


MOV EAX,dword ptr [ESI + 0x1b0]
TEST EAX,EAX
JZ 0x0003b560
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [ESI + 0x1a4]
TEST EAX,EAX
JZ 0x0003b578
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
SUB ESP,0xc
LEA EAX,[ESI + 0x190]
PUSH EAX
CALL 0x00103a90
LEA EAX,[ESI + 0x174]
MOV dword ptr [ESP],EAX
CALL 0x001037f0
MOV EAX,dword ptr [ESI + 0x168]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003b5b0
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
SUB ESP,0xc
LEA EAX,[ESI + 0x154]
MOV EBX,EDI
PUSH EAX
CALL 0x00103a90
MOV dword ptr [ESP],ESI
CALL 0x002b2620
ADD ESP,0x10
PUSH ECX
MOV EBX,EDI
PUSH ECX
PUSH 0x1c0
PUSH ESI
CALL 0x003ae060
POP ESI
PUSH dword ptr [EBP + -0x20]
CALL 0x004451f0
(translation_unit "void FUN_0003b548(void)\n\n{\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }\n  if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }\n  FUN_00103a90(unaff_ESI + 400);\n  FUN_001037f0(unaff_ESI + 0x174);\n  if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }\n  FUN_00103a90(unaff_ESI + 0x154);\n  FUN_002b2620();\n  uVar1 = 0x1c0;\n  uVar2 = extraout_ECX;\n  uVar3 = extraout_ECX;\n  FUN_003ae060();\n                    /* WARNING: Subroutine does not return */\n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);\n}\n\n" (function_definition "void FUN_0003b548(void)\n\n{\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }\n  if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }\n  FUN_00103a90(unaff_ESI + 400);\n  FUN_001037f0(unaff_ESI + 0x174);\n  if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }\n  FUN_00103a90(unaff_ESI + 0x154);\n  FUN_002b2620();\n  uVar1 = 0x1c0;\n  uVar2 = extraout_ECX;\n  uVar3 = extraout_ECX;\n  FUN_003ae060();\n                    /* WARNING: Subroutine does not return */\n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);\n}" primitive_type (function_declarator "FUN_0003b548(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }\n  if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }\n  FUN_00103a90(unaff_ESI + 400);\n  FUN_001037f0(unaff_ESI + 0x174);\n  if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }\n  FUN_00103a90(unaff_ESI + 0x154);\n  FUN_002b2620();\n  uVar1 = 0x1c0;\n  uVar2 = extraout_ECX;\n  uVar3 = extraout_ECX;\n  FUN_003ae060();\n                    /* WARNING: Subroutine does not return */\n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);\n}" { (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int unaff_ESI;" primitive_type identifier ;) (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (if_statement "if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x1b0) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x1b0) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x1b0)" * (cast_expression "(int *)(unaff_ESI + 0x1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x1b0)" ( (binary_expression "unaff_ESI + 0x1b0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x1b0))" identifier (argument_list "(*(int *)(unaff_ESI + 0x1b0))" ( (pointer_expression "*(int *)(unaff_ESI + 0x1b0)" * (cast_expression "(int *)(unaff_ESI + 0x1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x1b0)" ( (binary_expression "unaff_ESI + 0x1b0" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x1a4) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x1a4) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x1a4)" * (cast_expression "(int *)(unaff_ESI + 0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x1a4)" ( (binary_expression "unaff_ESI + 0x1a4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x1a4))" identifier (argument_list "(*(int *)(unaff_ESI + 0x1a4))" ( (pointer_expression "*(int *)(unaff_ESI + 0x1a4)" * (cast_expression "(int *)(unaff_ESI + 0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x1a4)" ( (binary_expression "unaff_ESI + 0x1a4" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_00103a90(unaff_ESI + 400);" (call_expression "FUN_00103a90(unaff_ESI + 400)" identifier (argument_list "(unaff_ESI + 400)" ( (binary_expression "unaff_ESI + 400" identifier + number_literal) ))) ;) (expression_statement "FUN_001037f0(unaff_ESI + 0x174);" (call_expression "FUN_001037f0(unaff_ESI + 0x174)" identifier (argument_list "(unaff_ESI + 0x174)" ( (binary_expression "unaff_ESI + 0x174" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x168) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x168) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x168)" * (cast_expression "(int *)(unaff_ESI + 0x168)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x168)" ( (binary_expression "unaff_ESI + 0x168" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x168));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x168))" identifier (argument_list "(*(int *)(unaff_ESI + 0x168))" ( (pointer_expression "*(int *)(unaff_ESI + 0x168)" * (cast_expression "(int *)(unaff_ESI + 0x168)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x168)" ( (binary_expression "unaff_ESI + 0x168" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_00103a90(unaff_ESI + 0x154);" (call_expression "FUN_00103a90(unaff_ESI + 0x154)" identifier (argument_list "(unaff_ESI + 0x154)" ( (binary_expression "unaff_ESI + 0x154" identifier + number_literal) ))) ;) (expression_statement "FUN_002b2620();" (call_expression "FUN_002b2620()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar1 = 0x1c0;" (assignment_expression "uVar1 = 0x1c0" identifier = number_literal) ;) (expression_statement "uVar2 = extraout_ECX;" (assignment_expression "uVar2 = extraout_ECX" identifier = identifier) ;) (expression_statement "uVar3 = extraout_ECX;" (assignment_expression "uVar3 = extraout_ECX" identifier = identifier) ;) (expression_statement "FUN_003ae060();" (call_expression "FUN_003ae060()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);" (call_expression "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3)" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3)" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x20)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x20)" ( (binary_expression "unaff_EBP + -0x20" identifier + number_literal) )))) , identifier , identifier , identifier ))) ;) })))
(translation_unit "void FUN_0003b548(void)\n\n{\n  void *pvVar1;\n  __bucket_type *pp_Var2;\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  Sized_relobj_file<32,_true> *unaff_ESI;\n  int in_stack_fffffff4;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  \n  pvVar1 = (void *)unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_element_count;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  pp_Var2 = unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_buckets;\n  if (pp_Var2 != (__bucket_type *)0x0) {\n    operator_delete(pp_Var2);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.sd_);\n  std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4);\n  pvVar1 = *(void **)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c\n  ;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             ((int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc));\n  gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_ESI,in_stack_fffffff4);\n  uVar3 = 0x1c0;\n  uVar4 = extraout_ECX;\n  uVar5 = extraout_ECX;\n  operator_delete(unaff_ESI,0x1c0);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x20),uVar3,uVar4,uVar5);\n}\n\n" (function_definition "void FUN_0003b548(void)\n\n{\n  void *pvVar1;\n  __bucket_type *pp_Var2;\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  Sized_relobj_file<32,_true> *unaff_ESI;\n  int in_stack_fffffff4;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  \n  pvVar1 = (void *)unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_element_count;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  pp_Var2 = unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_buckets;\n  if (pp_Var2 != (__bucket_type *)0x0) {\n    operator_delete(pp_Var2);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.sd_);\n  std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4);\n  pvVar1 = *(void **)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c\n  ;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             ((int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc));\n  gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_ESI,in_stack_fffffff4);\n  uVar3 = 0x1c0;\n  uVar4 = extraout_ECX;\n  uVar5 = extraout_ECX;\n  operator_delete(unaff_ESI,0x1c0);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x20),uVar3,uVar4,uVar5);\n}" primitive_type (function_declarator "FUN_0003b548(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  void *pvVar1;\n  __bucket_type *pp_Var2;\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  Sized_relobj_file<32,_true> *unaff_ESI;\n  int in_stack_fffffff4;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  \n  pvVar1 = (void *)unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_element_count;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  pp_Var2 = unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_buckets;\n  if (pp_Var2 != (__bucket_type *)0x0) {\n    operator_delete(pp_Var2);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.sd_);\n  std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4);\n  pvVar1 = *(void **)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c\n  ;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             ((int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc));\n  gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_ESI,in_stack_fffffff4);\n  uVar3 = 0x1c0;\n  uVar4 = extraout_ECX;\n  uVar5 = extraout_ECX;\n  operator_delete(unaff_ESI,0x1c0);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x20),uVar3,uVar4,uVar5);\n}" { (declaration "void *pvVar1;" primitive_type (pointer_declarator "*pvVar1" * identifier) ;) (declaration "__bucket_type *pp_Var2;" type_identifier (pointer_declarator "*pp_Var2" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (expression_statement "Sized_relobj_file<32,_true> *unaff_ESI;" (comma_expression "Sized_relobj_file<32,_true> *unaff_ESI" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> *unaff_ESI" identifier > (pointer_expression "*unaff_ESI" * identifier))) ;) (declaration "int in_stack_fffffff4;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (expression_statement "pvVar1 = (void *)unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_element_count;" (comma_expression "pvVar1 = (void *)unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h.\n                   _M_element_count" (assignment_expression "pvVar1 = (void *)unaff_ESI[1].super_Sized_relobj<32" identifier = (binary_expression "(void *)unaff_ESI[1].super_Sized_relobj<32" (cast_expression "(void *)unaff_ESI[1].super_Sized_relobj" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_ESI[1].super_Sized_relobj" (subscript_expression "unaff_ESI[1]" identifier [ number_literal ]) . field_identifier)) < number_literal)) , (field_expression "_true>.local_got_offsets_._M_h.\n                   _M_element_count" (field_expression "_true>.local_got_offsets_._M_h" (field_expression "_true>.local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }" if (parenthesized_expression "(pvVar1 != (void *)0x0)" ( (binary_expression "pvVar1 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(pvVar1);\n  }" { (expression_statement "operator_delete(pvVar1);" (call_expression "operator_delete(pvVar1)" identifier (argument_list "(pvVar1)" ( identifier ))) ;) })) (expression_statement "pp_Var2 = unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_buckets;" (comma_expression "pp_Var2 = unaff_ESI[1].super_Sized_relobj<32,_true>.local_got_offsets_._M_h._M_buckets" (assignment_expression "pp_Var2 = unaff_ESI[1].super_Sized_relobj<32" identifier = (binary_expression "unaff_ESI[1].super_Sized_relobj<32" (field_expression "unaff_ESI[1].super_Sized_relobj" (subscript_expression "unaff_ESI[1]" identifier [ number_literal ]) . field_identifier) < number_literal)) , (field_expression "_true>.local_got_offsets_._M_h._M_buckets" (field_expression "_true>.local_got_offsets_._M_h" (field_expression "_true>.local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pp_Var2 != (__bucket_type *)0x0) {\n    operator_delete(pp_Var2);\n  }" if (parenthesized_expression "(pp_Var2 != (__bucket_type *)0x0)" ( (binary_expression "pp_Var2 != (__bucket_type *)0x0" identifier != (cast_expression "(__bucket_type *)0x0" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(pp_Var2);\n  }" { (expression_statement "operator_delete(pp_Var2);" (call_expression "operator_delete(pp_Var2)" identifier (argument_list "(pp_Var2)" ( identifier ))) ;) })) (labeled_statement "std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             &unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.sd_);" statement_identifier (ERROR "::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std:" : : (binary_expression "_Bvector_base<std" identifier < identifier) : : (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > : : identifier ( ( (binary_expression "_Bvector_base<std" identifier < identifier) :) : (expression_statement "allocator<bool>_> *)\n             &unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.sd_);" (comma_expression "allocator<bool>_> *)\n             &unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.sd_" (binary_expression "allocator<bool>_> *)\n             &unaff_ESI[1].super_Sized_relobj<32" (binary_expression "allocator<bool>_> *)\n             &unaff_ESI[1].super_Sized_relobj" (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > (pointer_expression "*)\n             &unaff_ESI[1].super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&unaff_ESI[1].super_Sized_relobj" & (field_expression "unaff_ESI[1].super_Sized_relobj" (subscript_expression "unaff_ESI[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal) , (field_expression "_true>.super_Relobj.sd_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier)) (ERROR ")" )) ;)) (ERROR "std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::" (comma_expression "std::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold" identifier (ERROR "::\n  _Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>" : : (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>,_std" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>_>,_std" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<unsigned_int>,_std" identifier (ERROR "::_Select1st,_std::equal_to<unsigned_int>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int" identifier < identifier) >) , identifier) : : (binary_expression "hash<unsigned_int>,_std" (binary_expression "hash<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                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<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                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<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4);" (comma_expression "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4)" ~ (call_expression "_Hashtable((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4)" identifier (argument_list "((_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4)" ( (parenthesized_expression "(_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4)" ( (ERROR "_Hashtable<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::allocator<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<unsigned_int,_std" (binary_expression "_Hashtable<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_std" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<unsigned_int>,_std" (binary_expression "equal_to<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<unsigned_int>,_std" (binary_expression "hash<unsigned_int" 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<false,_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4" identifier , (comma_expression "_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4" (binary_expression "_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj<32" (binary_expression "_true>_>\n                 *)&unaff_ESI[1].super_Sized_relobj" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)&unaff_ESI[1].super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&unaff_ESI[1].super_Sized_relobj" & (field_expression "unaff_ESI[1].super_Sized_relobj" (subscript_expression "unaff_ESI[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal) , (comma_expression "_true>.super_Relobj.output_sections_,\n                in_stack_fffffff4" (field_expression "_true>.super_Relobj.output_sections_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) , identifier)))) )) ))))))) ;))))) (expression_statement "pvVar1 = *(void **)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c\n  ;" (comma_expression "pvVar1 = *(void **)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c" (assignment_expression "pvVar1 = *(void **)&unaff_ESI[1].super_Sized_relobj<32" identifier = (binary_expression "*(void **)&unaff_ESI[1].super_Sized_relobj<32" (pointer_expression "*(void **)&unaff_ESI[1].super_Sized_relobj" * (cast_expression "(void **)&unaff_ESI[1].super_Sized_relobj" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&unaff_ESI[1].super_Sized_relobj" & (field_expression "unaff_ESI[1].super_Sized_relobj" (subscript_expression "unaff_ESI[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal)) , (field_expression "_true>.super_Relobj.super_Object.field_0x2c" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }" if (parenthesized_expression "(pvVar1 != (void *)0x0)" ( (binary_expression "pvVar1 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(pvVar1);\n  }" { (expression_statement "operator_delete(pvVar1);" (call_expression "operator_delete(pvVar1)" identifier (argument_list "(pvVar1)" ( identifier ))) ;) })) (labeled_statement "std::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std::allocator<bool>_> *)\n             ((int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc));" statement_identifier (ERROR "::_Bvector_base<std::allocator<bool>_>::_M_deallocate\n            ((_Bvector_base<std:" : : (binary_expression "_Bvector_base<std" identifier < identifier) : : (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > : : identifier ( ( (binary_expression "_Bvector_base<std" identifier < identifier) :) : (expression_statement "allocator<bool>_> *)\n             ((int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc));" (binary_expression "allocator<bool>_> *)\n             ((int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc)" (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > (pointer_expression "*)\n             ((int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc)" * (ERROR ")" )) (parenthesized_expression "((int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc)" ( (comma_expression "(int)&unaff_ESI[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc" (binary_expression "(int)&unaff_ESI[1].super_Sized_relobj<32" (cast_expression "(int)&unaff_ESI[1].super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_ESI[1].super_Sized_relobj" & (field_expression "unaff_ESI[1].super_Sized_relobj" (subscript_expression "unaff_ESI[1]" identifier [ number_literal ]) . field_identifier))) < number_literal) , (binary_expression "_true>.super_Relobj.super_Object.name_.\n                    field_2 + 0xc" (field_expression "_true>.super_Relobj.super_Object.name_.\n                    field_2" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))) (ERROR ")" )) ;)) (labeled_statement "gold::Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_ESI,in_stack_fffffff4);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_ESI,in_stack_fffffff4);" (comma_expression "Sized_relobj_file<32,_true>::~Sized_relobj_file(unaff_ESI,in_stack_fffffff4)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::~Sized_relobj_file(unaff_ESI,in_stack_fffffff4)" identifier > (ERROR "::" : :) (unary_expression "~Sized_relobj_file(unaff_ESI,in_stack_fffffff4)" ~ (call_expression "Sized_relobj_file(unaff_ESI,in_stack_fffffff4)" identifier (argument_list "(unaff_ESI,in_stack_fffffff4)" ( identifier , identifier )))))) ;)) (expression_statement "uVar3 = 0x1c0;" (assignment_expression "uVar3 = 0x1c0" identifier = number_literal) ;) (expression_statement "uVar4 = extraout_ECX;" (assignment_expression "uVar4 = extraout_ECX" identifier = identifier) ;) (expression_statement "uVar5 = extraout_ECX;" (assignment_expression "uVar5 = extraout_ECX" identifier = identifier) ;) (expression_statement "operator_delete(unaff_ESI,0x1c0);" (call_expression "operator_delete(unaff_ESI,0x1c0)" identifier (argument_list "(unaff_ESI,0x1c0)" ( identifier , number_literal ))) ;) comment (expression_statement "_Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x20),uVar3,uVar4,uVar5);" (call_expression "_Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x20),uVar3,uVar4,uVar5)" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x20),uVar3,uVar4,uVar5)" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x20)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x20)" ( (binary_expression "unaff_EBP + -0x20" identifier + number_literal) )))) , identifier , identifier , identifier ))) ;) })))
(translation_unit "void FUN_0003b548(void)\n\n{\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }\n  if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }\n  FUN_00103a90(unaff_ESI + 400);\n  FUN_001037f0(unaff_ESI + 0x174);\n  if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }\n  FUN_00103a90(unaff_ESI + 0x154);\n  FUN_002b2620();\n  uVar1 = 0x1c0;\n  uVar2 = extraout_ECX;\n  uVar3 = extraout_ECX;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);\n}\n\n" (function_definition "void FUN_0003b548(void)\n\n{\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }\n  if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }\n  FUN_00103a90(unaff_ESI + 400);\n  FUN_001037f0(unaff_ESI + 0x174);\n  if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }\n  FUN_00103a90(unaff_ESI + 0x154);\n  FUN_002b2620();\n  uVar1 = 0x1c0;\n  uVar2 = extraout_ECX;\n  uVar3 = extraout_ECX;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);\n}" primitive_type (function_declarator "FUN_0003b548(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }\n  if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }\n  FUN_00103a90(unaff_ESI + 400);\n  FUN_001037f0(unaff_ESI + 0x174);\n  if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }\n  FUN_00103a90(unaff_ESI + 0x154);\n  FUN_002b2620();\n  uVar1 = 0x1c0;\n  uVar2 = extraout_ECX;\n  uVar3 = extraout_ECX;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);\n}" { (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int unaff_ESI;" primitive_type identifier ;) (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (if_statement "if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x1b0) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x1b0) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x1b0)" * (cast_expression "(int *)(unaff_ESI + 0x1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x1b0)" ( (binary_expression "unaff_ESI + 0x1b0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x1b0))" identifier (argument_list "(*(int *)(unaff_ESI + 0x1b0))" ( (pointer_expression "*(int *)(unaff_ESI + 0x1b0)" * (cast_expression "(int *)(unaff_ESI + 0x1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x1b0)" ( (binary_expression "unaff_ESI + 0x1b0" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x1a4) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x1a4) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x1a4)" * (cast_expression "(int *)(unaff_ESI + 0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x1a4)" ( (binary_expression "unaff_ESI + 0x1a4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x1a4))" identifier (argument_list "(*(int *)(unaff_ESI + 0x1a4))" ( (pointer_expression "*(int *)(unaff_ESI + 0x1a4)" * (cast_expression "(int *)(unaff_ESI + 0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x1a4)" ( (binary_expression "unaff_ESI + 0x1a4" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_00103a90(unaff_ESI + 400);" (call_expression "FUN_00103a90(unaff_ESI + 400)" identifier (argument_list "(unaff_ESI + 400)" ( (binary_expression "unaff_ESI + 400" identifier + number_literal) ))) ;) (expression_statement "FUN_001037f0(unaff_ESI + 0x174);" (call_expression "FUN_001037f0(unaff_ESI + 0x174)" identifier (argument_list "(unaff_ESI + 0x174)" ( (binary_expression "unaff_ESI + 0x174" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x168) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x168) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x168)" * (cast_expression "(int *)(unaff_ESI + 0x168)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x168)" ( (binary_expression "unaff_ESI + 0x168" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x168));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x168))" identifier (argument_list "(*(int *)(unaff_ESI + 0x168))" ( (pointer_expression "*(int *)(unaff_ESI + 0x168)" * (cast_expression "(int *)(unaff_ESI + 0x168)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x168)" ( (binary_expression "unaff_ESI + 0x168" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_00103a90(unaff_ESI + 0x154);" (call_expression "FUN_00103a90(unaff_ESI + 0x154)" identifier (argument_list "(unaff_ESI + 0x154)" ( (binary_expression "unaff_ESI + 0x154" identifier + number_literal) ))) ;) (expression_statement "FUN_002b2620();" (call_expression "FUN_002b2620()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar1 = 0x1c0;" (assignment_expression "uVar1 = 0x1c0" identifier = number_literal) ;) (expression_statement "uVar2 = extraout_ECX;" (assignment_expression "uVar2 = extraout_ECX" identifier = identifier) ;) (expression_statement "uVar3 = extraout_ECX;" (assignment_expression "uVar3 = extraout_ECX" identifier = identifier) ;) (expression_statement "FUN_003ae060();" (call_expression "FUN_003ae060()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);" (call_expression "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3)" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3)" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x20)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x20)" ( (binary_expression "unaff_EBP + -0x20" identifier + number_literal) )))) , identifier , identifier , identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != 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) )))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (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) )))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT ))) ;) })))
(function_definition "void FUN_0003b548(void)\n\n{\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }\n  if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }\n  FUN_00103a90(unaff_ESI + 400);\n  FUN_001037f0(unaff_ESI + 0x174);\n  if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }\n  FUN_00103a90(unaff_ESI + 0x154);\n  FUN_002b2620();\n  uVar1 = 0x1c0;\n  uVar2 = extraout_ECX;\n  uVar3 = extraout_ECX;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);\n}" (primitive_type "void") (function_declarator "FUN_0003b548(void)" (identifier "FUN_0003b548") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined4 extraout_ECX;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }\n  if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }\n  FUN_00103a90(unaff_ESI + 400);\n  FUN_001037f0(unaff_ESI + 0x174);\n  if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }\n  FUN_00103a90(unaff_ESI + 0x154);\n  FUN_002b2620();\n  uVar1 = 0x1c0;\n  uVar2 = extraout_ECX;\n  uVar3 = extraout_ECX;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);\n}" ({ "{") (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "int unaff_ESI;" (primitive_type "int") (identifier "unaff_ESI") (; ";")) (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (if_statement "if (*(int *)(unaff_ESI + 0x1b0) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_ESI + 0x1b0) != 0)" (( "(") (binary_expression "*(int *)(unaff_ESI + 0x1b0) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x1b0)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x1b0)" (( "(") (binary_expression "unaff_ESI + 0x1b0" (identifier "unaff_ESI") (+ "+") (number_literal "0x1b0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));\n  }" ({ "{") (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x1b0))" (identifier "FUN_003ae080") (argument_list "(*(int *)(unaff_ESI + 0x1b0))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 0x1b0)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x1b0)" (( "(") (binary_expression "unaff_ESI + 0x1b0" (identifier "unaff_ESI") (+ "+") (number_literal "0x1b0")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_ESI + 0x1a4) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_ESI + 0x1a4) != 0)" (( "(") (binary_expression "*(int *)(unaff_ESI + 0x1a4) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x1a4)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x1a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x1a4)" (( "(") (binary_expression "unaff_ESI + 0x1a4" (identifier "unaff_ESI") (+ "+") (number_literal "0x1a4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));\n  }" ({ "{") (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x1a4))" (identifier "FUN_003ae080") (argument_list "(*(int *)(unaff_ESI + 0x1a4))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 0x1a4)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x1a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x1a4)" (( "(") (binary_expression "unaff_ESI + 0x1a4" (identifier "unaff_ESI") (+ "+") (number_literal "0x1a4")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00103a90(unaff_ESI + 400);" (call_expression "FUN_00103a90(unaff_ESI + 400)" (identifier "FUN_00103a90") (argument_list "(unaff_ESI + 400)" (( "(") (binary_expression "unaff_ESI + 400" (identifier "unaff_ESI") (+ "+") (number_literal "400")) () ")"))) (; ";")) (expression_statement "FUN_001037f0(unaff_ESI + 0x174);" (call_expression "FUN_001037f0(unaff_ESI + 0x174)" (identifier "FUN_001037f0") (argument_list "(unaff_ESI + 0x174)" (( "(") (binary_expression "unaff_ESI + 0x174" (identifier "unaff_ESI") (+ "+") (number_literal "0x174")) () ")"))) (; ";")) (if_statement "if (*(int *)(unaff_ESI + 0x168) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_ESI + 0x168) != 0)" (( "(") (binary_expression "*(int *)(unaff_ESI + 0x168) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x168)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x168)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x168)" (( "(") (binary_expression "unaff_ESI + 0x168" (identifier "unaff_ESI") (+ "+") (number_literal "0x168")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x168));\n  }" ({ "{") (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x168));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x168))" (identifier "FUN_003ae080") (argument_list "(*(int *)(unaff_ESI + 0x168))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 0x168)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x168)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x168)" (( "(") (binary_expression "unaff_ESI + 0x168" (identifier "unaff_ESI") (+ "+") (number_literal "0x168")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00103a90(unaff_ESI + 0x154);" (call_expression "FUN_00103a90(unaff_ESI + 0x154)" (identifier "FUN_00103a90") (argument_list "(unaff_ESI + 0x154)" (( "(") (binary_expression "unaff_ESI + 0x154" (identifier "unaff_ESI") (+ "+") (number_literal "0x154")) () ")"))) (; ";")) (expression_statement "FUN_002b2620();" (call_expression "FUN_002b2620()" (identifier "FUN_002b2620") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar1 = 0x1c0;" (assignment_expression "uVar1 = 0x1c0" (identifier "uVar1") (= "=") (number_literal "0x1c0")) (; ";")) (expression_statement "uVar2 = extraout_ECX;" (assignment_expression "uVar2 = extraout_ECX" (identifier "uVar2") (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "uVar3 = extraout_ECX;" (assignment_expression "uVar3 = extraout_ECX" (identifier "uVar3") (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "FUN_003ae060();" (call_expression "FUN_003ae060()" (identifier "FUN_003ae060") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);" (call_expression "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3)" (identifier "FUN_004451f0") (argument_list "(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3)" (( "(") (pointer_expression "*(undefined4 *)(unaff_EBP + -0x20)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x20)" (( "(") (binary_expression "unaff_EBP + -0x20" (identifier "unaff_EBP") (+ "+") (number_literal "-0x20")) () ")")))) (, ",") (identifier "uVar1") (, ",") (identifier "uVar2") (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}")))

void function_1(void)

{
  void *var_3;
  type_1 *var_5;
  type_2 extraout_ECX;
  int var_12;
  var_1<32,var_2> *unaff_ESI;
  int in_stack_fffffff4;
  type_2 uVar3;
  type_2 uVar4;
  type_2 uVar5;
  
  var_3 = (void *)unaff_ESI[1].super_Sized_relobj<32,var_2>.local_got_offsets_._M_h.
                   _M_element_count;
  if (var_3 != (void *)0x0) {
    var_4(var_3);
  }
  var_5 = unaff_ESI[1].super_Sized_relobj<32,var_2>.local_got_offsets_._M_h._M_buckets;
  if (var_5 != (type_1 *)0x0) {
    var_4(var_5);
  }
  std::_Bvector_base<std::var_6<var_7>var_8>::_M_deallocate
            ((_Bvector_base<std::var_6<var_7>var_8> *)
             &unaff_ESI[1].super_Sized_relobj<32,var_2>.super_Relobj.sd_);
  std::
  var_10<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_8>,_std::var_6<std::pair<gold::Relobj*,_unsigned_int>var_8>var_8>var_8>,_std::var_6<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_8>,_std::var_6<std::pair<gold::Relobj*,_unsigned_int>var_8>var_8>var_8>var_8>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<false,_false,var_2>var_8>
  ::~var_10((var_10<unsigned_int,_std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_8>,_std::var_6<std::pair<gold::Relobj*,_unsigned_int>var_8>var_8>var_8>,_std::var_6<std::pair<unsigned_int_const,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_8>,_std::var_6<std::pair<gold::Relobj*,_unsigned_int>var_8>var_8>var_8>var_8>,_std::__detail::_Select1st,_std::equal_to<unsigned_int>,_std::hash<unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_9<false,_false,var_2>var_8>
                 *)&unaff_ESI[1].super_Sized_relobj<32,var_2>.super_Relobj.output_sections_,
                in_stack_fffffff4);
  var_3 = *(void **)&unaff_ESI[1].super_Sized_relobj<32,var_2>.super_Relobj.super_Object.field_0x2c
  ;
  if (var_3 != (void *)0x0) {
    var_4(var_3);
  }
  std::_Bvector_base<std::var_6<var_7>var_8>::_M_deallocate
            ((_Bvector_base<std::var_6<var_7>var_8> *)
             ((int)&unaff_ESI[1].super_Sized_relobj<32,var_2>.super_Relobj.super_Object.name_.
                    field_2 + 0xc));
  gold::var_1<32,var_2>::~var_1(unaff_ESI,in_stack_fffffff4);
  uVar3 = 0x1c0;
  uVar4 = extraout_ECX;
  uVar5 = extraout_ECX;
  var_4(unaff_ESI,0x1c0);
                    /* WARNING: Subroutine does not return */
  var_11(*(type_2 *)(var_12 + -0x20),uVar3,uVar4,uVar5);
}


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

void MASKED(void)

{
  undefined4 extraout_ECX;
  int unaff_EBP;
  int unaff_ESI;
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  
  if (*(int *)(unaff_ESI + 0x1b0) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x1b0));
  }
  if (*(int *)(unaff_ESI + 0x1a4) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x1a4));
  }
  FUN_00103a90(unaff_ESI + 400);
  FUN_001037f0(unaff_ESI + 0x174);
  if (*(int *)(unaff_ESI + 0x168) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x168));
  }
  FUN_00103a90(unaff_ESI + 0x154);
  FUN_002b2620();
  uVar1 = 0x1c0;
  uVar2 = extraout_ECX;
  uVar3 = extraout_ECX;
  FUN_003ae060();
                    /* WARNING: Subroutine does not return */
  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x20),uVar1,uVar2,uVar3);
}

