
/* WARNING: Enum "DT": Some values do not have unique names */
/* (anonymous namespace)::Target_arm<false>::do_relax(int, gold::Input_objects const*,
   gold::Symbol_table*, gold::Layout*, gold::Task const*) [clone .cold.1868] */

void (anonymous_namespace)::Target_arm<false>::do_relax
               (int param_1,Input_objects *param_2,Symbol_table *param_3,Layout *param_4,
               Task *param_5)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 *puVar3;
  int unaff_EBP;
  _Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::Output_section*>_>
  *unaff_retaddr;
  Arm_exidx_fixup *this;
  Task *task;
  
  task = (Task *)0x40;
  operator_delete(*(void **)(unaff_EBP + -0xf8),0x40);
  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);
  if (iVar1 != 0) {
    task = *(Task **)(unaff_EBP + 0x1c);
    gold::File_read::unlock((File_read *)(iVar1 + 0x1c),task);
  }
  this = *(Arm_exidx_fixup **)(unaff_EBP + -0x10c);
  std::
  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_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<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                 *)this,(int)task);
  anon_unknown.dwarf_91258a::Arm_exidx_fixup::~Arm_exidx_fixup(this,(int)task);
  std::
  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_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::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                  **)(unaff_EBP + -300),(int)task);
  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);
  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {
    puVar2 = (undefined4 *)*puVar3;
    operator_delete(puVar3);
    puVar3 = puVar2;
  }
  if (*(void **)(unaff_EBP + -0xb4) != (void *)0x0) {
    operator_delete(*(void **)(unaff_EBP + -0xb4));
  }
  std::
  _Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::Output_section*>_>
  ::_M_erase(unaff_retaddr,(_Link_type)param_1);
                    /* WARNING: Subroutine does not return */
  _Unwind_Resume();
}



void __regparm3 FUN_0003d382(undefined4 param_1)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 *puVar3;
  int unaff_EBP;
  
  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);
  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);
  if (iVar1 != 0) {
    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));
  }
  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));
  FUN_0003c886();
  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));
  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);
  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {
    puVar2 = (undefined4 *)*puVar3;
    FUN_003ae080(puVar3);
    puVar3 = puVar2;
  }
  if (*(int *)(unaff_EBP + -0xb4) != 0) {
    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));
  }
  FUN_0010a790();
                    /* WARNING: Subroutine does not return */
  FUN_004451f0();
}


PUSH EAX
MOV EBX,dword ptr [EBP + 0xffffff14]
PUSH EAX
PUSH 0x40
PUSH dword ptr [EBP + 0xffffff08]
CALL 0x003ae060
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffee0]
MOV EAX,dword ptr [EAX + 0x1c]
TEST EAX,EAX
JZ 0x0003d3be
ADD EAX,0x1c
PUSH EDI
MOV EBX,dword ptr [EBP + 0xffffff14]
PUSH EDI
PUSH dword ptr [EBP + 0x1c]
PUSH EAX
CALL 0x0023dd30
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffef4]
CALL 0x0005fa00
MOV EAX,dword ptr [EBP + 0xfffffed0]
CALL 0x0003c886
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBP + 0xfffffed4]
MOV EDI,ESI
CALL 0x00144a40
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff58]
CMP EAX,dword ptr [EBP + 0xfffffee4]
JNZ 0x0003d454
MOV EAX,dword ptr [EBP + 0xffffff4c]
TEST EAX,EAX
JZ 0x0003d417
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff14]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV ESI,EDI
MOV EDX,dword ptr [EBP + 0xffffff6c]
LEA EAX,[EBP + 0xffffff64]
CALL 0x0010a790
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff14]
PUSH ESI
CALL 0x004451f0
(translation_unit "void __regparm3 FUN_0003d382(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  \n  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }\n  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));\n  FUN_0003c886();\n  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }\n  FUN_0010a790();\n                    /* WARNING: Subroutine does not return */\n  FUN_004451f0();\n}\n\n" (function_definition "void __regparm3 FUN_0003d382(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  \n  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }\n  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));\n  FUN_0003c886();\n  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }\n  FUN_0010a790();\n                    /* WARNING: Subroutine does not return */\n  FUN_004451f0();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0003d382(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  \n  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }\n  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));\n  FUN_0003c886();\n  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }\n  FUN_0010a790();\n                    /* WARNING: Subroutine does not return */\n  FUN_004451f0();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (expression_statement "FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);" (call_expression "FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1)" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1)" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0xf8)" * (cast_expression "(undefined4 *)(unaff_EBP + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xf8)" ( (binary_expression "unaff_EBP + -0xf8" identifier + number_literal) )))) , number_literal , identifier , identifier ))) ;) (expression_statement "iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);" (assignment_expression "iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" * (cast_expression "(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + -0x120) + 0x1c)" ( (binary_expression "*(int *)(unaff_EBP + -0x120) + 0x1c" (pointer_expression "*(int *)(unaff_EBP + -0x120)" * (cast_expression "(int *)(unaff_EBP + -0x120)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x120)" ( (binary_expression "unaff_EBP + -0x120" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }" { (expression_statement "FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));" (call_expression "FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c))" identifier (argument_list "(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c))" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1c)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1c)" ( (binary_expression "unaff_EBP + 0x1c" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));" (call_expression "FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x10c))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x10c)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x10c)" ( (binary_expression "unaff_EBP + -0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_0003c886();" (call_expression "FUN_0003c886()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));" (call_expression "FUN_00144a40(*(undefined4 *)(unaff_EBP + -300))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -300))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -300)" * (cast_expression "(undefined4 *)(unaff_EBP + -300)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -300)" ( (binary_expression "unaff_EBP + -300" identifier + number_literal) )))) ))) ;) (expression_statement "puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);" (assignment_expression "puVar3 = *(undefined4 **)(unaff_EBP + -0xa8)" identifier = (pointer_expression "*(undefined4 **)(unaff_EBP + -0xa8)" * (cast_expression "(undefined4 **)(unaff_EBP + -0xa8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0xa8)" ( (binary_expression "unaff_EBP + -0xa8" identifier + number_literal) ))))) ;) (while_statement "while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }" while (parenthesized_expression "(puVar3 != *(undefined4 **)(unaff_EBP + -0x11c))" ( (binary_expression "puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)" identifier != (pointer_expression "*(undefined4 **)(unaff_EBP + -0x11c)" * (cast_expression "(undefined4 **)(unaff_EBP + -0x11c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x11c)" ( (binary_expression "unaff_EBP + -0x11c" identifier + number_literal) ))))) )) (compound_statement "{\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }" { (expression_statement "puVar2 = (undefined4 *)*puVar3;" (assignment_expression "puVar2 = (undefined4 *)*puVar3" identifier = (cast_expression "(undefined4 *)*puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "FUN_003ae080(puVar3);" (call_expression "FUN_003ae080(puVar3)" identifier (argument_list "(puVar3)" ( identifier ))) ;) (expression_statement "puVar3 = puVar2;" (assignment_expression "puVar3 = puVar2" identifier = identifier) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0xb4) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0xb4) != 0" (pointer_expression "*(int *)(unaff_EBP + -0xb4)" * (cast_expression "(int *)(unaff_EBP + -0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xb4)" ( (binary_expression "unaff_EBP + -0xb4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_EBP + -0xb4));" (call_expression "FUN_003ae080(*(int *)(unaff_EBP + -0xb4))" identifier (argument_list "(*(int *)(unaff_EBP + -0xb4))" ( (pointer_expression "*(int *)(unaff_EBP + -0xb4)" * (cast_expression "(int *)(unaff_EBP + -0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xb4)" ( (binary_expression "unaff_EBP + -0xb4" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_0010a790();" (call_expression "FUN_0010a790()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "FUN_004451f0();" (call_expression "FUN_004451f0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* (anonymous namespace)::Target_arm<false>::do_relax(int, gold::Input_objects const*,\n   gold::Symbol_table*, gold::Layout*, gold::Task const*) [clone .cold.1868] */\n\nvoid (anonymous_namespace)::Target_arm<false>::do_relax\n               (int param_1,Input_objects *param_2,Symbol_table *param_3,Layout *param_4,\n               Task *param_5)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  _Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::Output_section*>_>\n  *unaff_retaddr;\n  Arm_exidx_fixup *this;\n  Task *task;\n  \n  task = (Task *)0x40;\n  operator_delete(*(void **)(unaff_EBP + -0xf8),0x40);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    task = *(Task **)(unaff_EBP + 0x1c);\n    gold::File_read::unlock((File_read *)(iVar1 + 0x1c),task);\n  }\n  this = *(Arm_exidx_fixup **)(unaff_EBP + -0x10c);\n  std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_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<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task);\n  anon_unknown.dwarf_91258a::Arm_exidx_fixup::~Arm_exidx_fixup(this,(int)task);\n  std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_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::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task);\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    operator_delete(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(void **)(unaff_EBP + -0xb4) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0xb4));\n  }\n  std::\n  _Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::Output_section*>_>\n  ::_M_erase(unaff_retaddr,(_Link_type)param_1);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume();\n}\n\n" comment comment (function_definition "void (anonymous_namespace)::Target_arm<false>::do_relax\n               (int param_1,Input_objects *param_2,Symbol_table *param_3,Layout *param_4,\n               Task *param_5)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  _Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::Output_section*>_>\n  *unaff_retaddr;\n  Arm_exidx_fixup *this;\n  Task *task;\n  \n  task = (Task *)0x40;\n  operator_delete(*(void **)(unaff_EBP + -0xf8),0x40);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    task = *(Task **)(unaff_EBP + 0x1c);\n    gold::File_read::unlock((File_read *)(iVar1 + 0x1c),task);\n  }\n  this = *(Arm_exidx_fixup **)(unaff_EBP + -0x10c);\n  std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_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<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task);\n  anon_unknown.dwarf_91258a::Arm_exidx_fixup::~Arm_exidx_fixup(this,(int)task);\n  std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_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::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task);\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    operator_delete(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(void **)(unaff_EBP + -0xb4) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0xb4));\n  }\n  std::\n  _Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::Output_section*>_>\n  ::_M_erase(unaff_retaddr,(_Link_type)param_1);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume();\n}" primitive_type (function_declarator "(anonymous_namespace)::Target_arm<false>::do_relax\n               (int param_1,Input_objects *param_2,Symbol_table *param_3,Layout *param_4,\n               Task *param_5)" (parenthesized_declarator "(anonymous_namespace)" ( identifier )) (ERROR "::Target_arm<false>::do_relax" : : identifier < false > : : identifier) (parameter_list "(int param_1,Input_objects *param_2,Symbol_table *param_3,Layout *param_4,\n               Task *param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "Input_objects *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "Symbol_table *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "Layout *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 iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  _Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::Output_section*>_>\n  *unaff_retaddr;\n  Arm_exidx_fixup *this;\n  Task *task;\n  \n  task = (Task *)0x40;\n  operator_delete(*(void **)(unaff_EBP + -0xf8),0x40);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    task = *(Task **)(unaff_EBP + 0x1c);\n    gold::File_read::unlock((File_read *)(iVar1 + 0x1c),task);\n  }\n  this = *(Arm_exidx_fixup **)(unaff_EBP + -0x10c);\n  std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_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<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task);\n  anon_unknown.dwarf_91258a::Arm_exidx_fixup::~Arm_exidx_fixup(this,(int)task);\n  std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_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::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task);\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    operator_delete(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(void **)(unaff_EBP + -0xb4) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0xb4));\n  }\n  std::\n  _Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::Output_section*>_>\n  ::_M_erase(unaff_retaddr,(_Link_type)param_1);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (ERROR "_Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::" (binary_expression "_Rb_tree<gold" identifier < identifier) : : (binary_expression "Output_section*,_gold" identifier * (ERROR "," ,) identifier) : : (binary_expression "Output_section*,_std" identifier * (ERROR "," ,) identifier) : : (binary_expression "_Identity<gold" identifier < identifier) : : (comma_expression "Output_section*>,_(anonymous_namespace)" identifier (ERROR "*>" * >) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Target_arm<false>::output_section_address_less_than,_std" (binary_expression "Target_arm<false>::output_section_address_less_than" (binary_expression "Target_arm<false" identifier < false) > (ERROR "::" : :) identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_section*>_>\n  *unaff_retaddr;" (binary_expression "Output_section*>_>\n  *unaff_retaddr" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*unaff_retaddr" * identifier)) ;) (declaration "Arm_exidx_fixup *this;" type_identifier (pointer_declarator "*this" * identifier) ;) (declaration "Task *task;" type_identifier (pointer_declarator "*task" * identifier) ;) (expression_statement "task = (Task *)0x40;" (assignment_expression "task = (Task *)0x40" identifier = (cast_expression "(Task *)0x40" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "operator_delete(*(void **)(unaff_EBP + -0xf8),0x40);" (call_expression "operator_delete(*(void **)(unaff_EBP + -0xf8),0x40)" identifier (argument_list "(*(void **)(unaff_EBP + -0xf8),0x40)" ( (pointer_expression "*(void **)(unaff_EBP + -0xf8)" * (cast_expression "(void **)(unaff_EBP + -0xf8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0xf8)" ( (binary_expression "unaff_EBP + -0xf8" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);" (assignment_expression "iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" * (cast_expression "(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + -0x120) + 0x1c)" ( (binary_expression "*(int *)(unaff_EBP + -0x120) + 0x1c" (pointer_expression "*(int *)(unaff_EBP + -0x120)" * (cast_expression "(int *)(unaff_EBP + -0x120)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x120)" ( (binary_expression "unaff_EBP + -0x120" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    task = *(Task **)(unaff_EBP + 0x1c);\n    gold::File_read::unlock((File_read *)(iVar1 + 0x1c),task);\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    task = *(Task **)(unaff_EBP + 0x1c);\n    gold::File_read::unlock((File_read *)(iVar1 + 0x1c),task);\n  }" { (expression_statement "task = *(Task **)(unaff_EBP + 0x1c);" (assignment_expression "task = *(Task **)(unaff_EBP + 0x1c)" identifier = (pointer_expression "*(Task **)(unaff_EBP + 0x1c)" * (cast_expression "(Task **)(unaff_EBP + 0x1c)" ( (type_descriptor "Task **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0x1c)" ( (binary_expression "unaff_EBP + 0x1c" identifier + number_literal) ))))) ;) (labeled_statement "gold::File_read::unlock((File_read *)(iVar1 + 0x1c),task);" statement_identifier : (ERROR ":" :) (labeled_statement "File_read::unlock((File_read *)(iVar1 + 0x1c),task);" statement_identifier : (ERROR ":" :) (expression_statement "unlock((File_read *)(iVar1 + 0x1c),task);" (call_expression "unlock((File_read *)(iVar1 + 0x1c),task)" identifier (argument_list "((File_read *)(iVar1 + 0x1c),task)" ( (cast_expression "(File_read *)(iVar1 + 0x1c)" ( (type_descriptor "File_read *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1c)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) ))) , identifier ))) ;))) })) (expression_statement "this = *(Arm_exidx_fixup **)(unaff_EBP + -0x10c);" (assignment_expression "this = *(Arm_exidx_fixup **)(unaff_EBP + -0x10c)" identifier = (pointer_expression "*(Arm_exidx_fixup **)(unaff_EBP + -0x10c)" * (cast_expression "(Arm_exidx_fixup **)(unaff_EBP + -0x10c)" ( (type_descriptor "Arm_exidx_fixup **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x10c)" ( (binary_expression "unaff_EBP + -0x10c" identifier + number_literal) ))))) ;) (ERROR "std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (comma_expression "std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) 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" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_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<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task);" 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<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task);" 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<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task);" 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<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n  ::~_Hashtable((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task)" ~ (call_expression "_Hashtable((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task)" ( (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                 *)this,(int)task)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : 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>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_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                 *)this,(int)task" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                 *)this,(int)task" identifier , (comma_expression "_true>_>\n                 *)this,(int)task" (binary_expression "_true>_>\n                 *)this" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)this" * (ERROR ")" )) identifier)) , (cast_expression "(int)task" ( (type_descriptor "int" primitive_type) ) identifier)))) )) ))))))) ;))))) (ERROR "anon_unknown.dwarf_91258a::" (field_expression "anon_unknown.dwarf_91258a" identifier . field_identifier) : :) (labeled_statement "Arm_exidx_fixup::~Arm_exidx_fixup(this,(int)task);" statement_identifier : (ERROR ":" :) (expression_statement "~Arm_exidx_fixup(this,(int)task);" (unary_expression "~Arm_exidx_fixup(this,(int)task)" ~ (call_expression "Arm_exidx_fixup(this,(int)task)" identifier (argument_list "(this,(int)task)" ( identifier , (cast_expression "(int)task" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (ERROR "std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (comma_expression "std::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_const_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold" identifier (ERROR "::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>" : : (comma_expression "Input_section*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "Output_section::Input_section*>_>,_std" (binary_expression "Output_section::Input_section*>_" identifier (ERROR "::Input_section*" : : identifier *) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_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,_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task);" 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::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task);" 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::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task);" 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::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n  ::~_Hashtable(*(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable(*(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable(*(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task)" ~ (call_expression "_Hashtable(*(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task)" identifier (argument_list "(*(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300),(int)task)" ( (pointer_expression "*(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300)" * (call_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                  **)(unaff_EBP + -300)" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_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::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::Output_section::Input_section*>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::Output_section::Input_section*>" : : identifier : : identifier * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_const_gold" identifier > (ERROR "," ,) identifier) : : identifier : : (binary_expression "Input_section*>_>,_std" (binary_expression "Input_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_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>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_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,_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 "**" * (pointer_expression "*" * identifier))))) )) (argument_list "(unaff_EBP + -300)" ( (binary_expression "unaff_EBP + -300" identifier + number_literal) )))) , (cast_expression "(int)task" ( (type_descriptor "int" primitive_type) ) identifier) ))))))) ;))))) (expression_statement "puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);" (assignment_expression "puVar3 = *(undefined4 **)(unaff_EBP + -0xa8)" identifier = (pointer_expression "*(undefined4 **)(unaff_EBP + -0xa8)" * (cast_expression "(undefined4 **)(unaff_EBP + -0xa8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0xa8)" ( (binary_expression "unaff_EBP + -0xa8" identifier + number_literal) ))))) ;) (while_statement "while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    operator_delete(puVar3);\n    puVar3 = puVar2;\n  }" while (parenthesized_expression "(puVar3 != *(undefined4 **)(unaff_EBP + -0x11c))" ( (binary_expression "puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)" identifier != (pointer_expression "*(undefined4 **)(unaff_EBP + -0x11c)" * (cast_expression "(undefined4 **)(unaff_EBP + -0x11c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x11c)" ( (binary_expression "unaff_EBP + -0x11c" identifier + number_literal) ))))) )) (compound_statement "{\n    puVar2 = (undefined4 *)*puVar3;\n    operator_delete(puVar3);\n    puVar3 = puVar2;\n  }" { (expression_statement "puVar2 = (undefined4 *)*puVar3;" (assignment_expression "puVar2 = (undefined4 *)*puVar3" identifier = (cast_expression "(undefined4 *)*puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "operator_delete(puVar3);" (call_expression "operator_delete(puVar3)" identifier (argument_list "(puVar3)" ( identifier ))) ;) (expression_statement "puVar3 = puVar2;" (assignment_expression "puVar3 = puVar2" identifier = identifier) ;) })) (if_statement "if (*(void **)(unaff_EBP + -0xb4) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0xb4));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0xb4) != (void *)0x0)" ( (binary_expression "*(void **)(unaff_EBP + -0xb4) != (void *)0x0" (pointer_expression "*(void **)(unaff_EBP + -0xb4)" * (cast_expression "(void **)(unaff_EBP + -0xb4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0xb4)" ( (binary_expression "unaff_EBP + -0xb4" identifier + number_literal) )))) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(*(void **)(unaff_EBP + -0xb4));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_EBP + -0xb4));" (call_expression "operator_delete(*(void **)(unaff_EBP + -0xb4))" identifier (argument_list "(*(void **)(unaff_EBP + -0xb4))" ( (pointer_expression "*(void **)(unaff_EBP + -0xb4)" * (cast_expression "(void **)(unaff_EBP + -0xb4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0xb4)" ( (binary_expression "unaff_EBP + -0xb4" identifier + number_literal) )))) ))) ;) })) (ERROR "std::\n  _Rb_tree<gold::Output_section*,_gold::Output_section*,_std::_Identity<gold::Output_section*>,_(anonymous_namespace)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::" (comma_expression "std::\n  _Rb_tree<gold::Output_section*,_gold" identifier (ERROR "::\n  _Rb_tree<gold::Output_section*" : : (binary_expression "_Rb_tree<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "Output_section*,_std" identifier * (ERROR "," ,) identifier) : : (binary_expression "_Identity<gold" identifier < identifier) : : (comma_expression "Output_section*>,_(anonymous_namespace)" identifier (ERROR "*>" * >) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Target_arm<false>::output_section_address_less_than,_std" (binary_expression "Target_arm<false>::output_section_address_less_than" (binary_expression "Target_arm<false" identifier < false) > (ERROR "::" : :) identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_section*>_>\n  ::_M_erase(unaff_retaddr,(_Link_type)param_1);" (binary_expression "Output_section*>_>\n  ::_M_erase(unaff_retaddr,(_Link_type)param_1)" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) (call_expression "_M_erase(unaff_retaddr,(_Link_type)param_1)" identifier (argument_list "(unaff_retaddr,(_Link_type)param_1)" ( identifier , (cast_expression "(_Link_type)param_1" ( (type_descriptor "_Link_type" type_identifier) ) identifier) )))) ;) comment (expression_statement "_Unwind_Resume();" (call_expression "_Unwind_Resume()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void __regparm3 FUN_0003d382(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  \n  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }\n  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));\n  FUN_0003c886();\n  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }\n  FUN_0010a790();\n                    \n  FUN_004451f0();\n}\n\n" (function_definition "void __regparm3 FUN_0003d382(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  \n  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }\n  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));\n  FUN_0003c886();\n  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }\n  FUN_0010a790();\n                    \n  FUN_004451f0();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0003d382(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  \n  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }\n  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));\n  FUN_0003c886();\n  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }\n  FUN_0010a790();\n                    \n  FUN_004451f0();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (expression_statement "FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);" (call_expression "FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1)" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1)" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0xf8)" * (cast_expression "(undefined4 *)(unaff_EBP + -0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xf8)" ( (binary_expression "unaff_EBP + -0xf8" identifier + number_literal) )))) , number_literal , identifier , identifier ))) ;) (expression_statement "iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);" (assignment_expression "iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" * (cast_expression "(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + -0x120) + 0x1c)" ( (binary_expression "*(int *)(unaff_EBP + -0x120) + 0x1c" (pointer_expression "*(int *)(unaff_EBP + -0x120)" * (cast_expression "(int *)(unaff_EBP + -0x120)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x120)" ( (binary_expression "unaff_EBP + -0x120" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }" { (expression_statement "FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));" (call_expression "FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c))" identifier (argument_list "(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c))" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1c)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1c)" ( (binary_expression "unaff_EBP + 0x1c" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));" (call_expression "FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x10c))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x10c)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x10c)" ( (binary_expression "unaff_EBP + -0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_0003c886();" (call_expression "FUN_0003c886()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));" (call_expression "FUN_00144a40(*(undefined4 *)(unaff_EBP + -300))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -300))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -300)" * (cast_expression "(undefined4 *)(unaff_EBP + -300)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -300)" ( (binary_expression "unaff_EBP + -300" identifier + number_literal) )))) ))) ;) (expression_statement "puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);" (assignment_expression "puVar3 = *(undefined4 **)(unaff_EBP + -0xa8)" identifier = (pointer_expression "*(undefined4 **)(unaff_EBP + -0xa8)" * (cast_expression "(undefined4 **)(unaff_EBP + -0xa8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0xa8)" ( (binary_expression "unaff_EBP + -0xa8" identifier + number_literal) ))))) ;) (while_statement "while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }" while (parenthesized_expression "(puVar3 != *(undefined4 **)(unaff_EBP + -0x11c))" ( (binary_expression "puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)" identifier != (pointer_expression "*(undefined4 **)(unaff_EBP + -0x11c)" * (cast_expression "(undefined4 **)(unaff_EBP + -0x11c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x11c)" ( (binary_expression "unaff_EBP + -0x11c" identifier + number_literal) ))))) )) (compound_statement "{\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }" { (expression_statement "puVar2 = (undefined4 *)*puVar3;" (assignment_expression "puVar2 = (undefined4 *)*puVar3" identifier = (cast_expression "(undefined4 *)*puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "FUN_003ae080(puVar3);" (call_expression "FUN_003ae080(puVar3)" identifier (argument_list "(puVar3)" ( identifier ))) ;) (expression_statement "puVar3 = puVar2;" (assignment_expression "puVar3 = puVar2" identifier = identifier) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0xb4) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0xb4) != 0" (pointer_expression "*(int *)(unaff_EBP + -0xb4)" * (cast_expression "(int *)(unaff_EBP + -0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xb4)" ( (binary_expression "unaff_EBP + -0xb4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_EBP + -0xb4));" (call_expression "FUN_003ae080(*(int *)(unaff_EBP + -0xb4))" identifier (argument_list "(*(int *)(unaff_EBP + -0xb4))" ( (pointer_expression "*(int *)(unaff_EBP + -0xb4)" * (cast_expression "(int *)(unaff_EBP + -0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0xb4)" ( (binary_expression "unaff_EBP + -0xb4" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_0010a790();" (call_expression "FUN_0010a790()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_004451f0();" (call_expression "FUN_004451f0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (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) )))) ))) ;) (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) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != 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 ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void __regparm3 FUN_0003d382(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  \n  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }\n  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));\n  FUN_0003c886();\n  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }\n  FUN_0010a790();\n                    \n  FUN_004451f0();\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0003d382(undefined4 param_1)" (identifier "FUN_0003d382") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  int unaff_EBP;\n  \n  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);\n  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);\n  if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }\n  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));\n  FUN_0003c886();\n  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));\n  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);\n  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }\n  if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }\n  FUN_0010a790();\n                    \n  FUN_004451f0();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (expression_statement "FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);" (call_expression "FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1)" (identifier "FUN_003ae060") (argument_list "(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1)" (( "(") (pointer_expression "*(undefined4 *)(unaff_EBP + -0xf8)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0xf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0xf8)" (( "(") (binary_expression "unaff_EBP + -0xf8" (identifier "unaff_EBP") (+ "+") (number_literal "-0xf8")) () ")")))) (, ",") (number_literal "0x40") (, ",") (identifier "param_1") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);" (assignment_expression "iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EBP + -0x120) + 0x1c)" (( "(") (binary_expression "*(int *)(unaff_EBP + -0x120) + 0x1c" (pointer_expression "*(int *)(unaff_EBP + -0x120)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x120)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x120)" (( "(") (binary_expression "unaff_EBP + -0x120" (identifier "unaff_EBP") (+ "+") (number_literal "-0x120")) () ")")))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar1 != 0) {\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));\n  }" ({ "{") (expression_statement "FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));" (call_expression "FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c))" (identifier "FUN_0023dd30") (argument_list "(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c))" (( "(") (binary_expression "iVar1 + 0x1c" (identifier "iVar1") (+ "+") (number_literal "0x1c")) (, ",") (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1c)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1c)" (( "(") (binary_expression "unaff_EBP + 0x1c" (identifier "unaff_EBP") (+ "+") (number_literal "0x1c")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));" (call_expression "FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c))" (identifier "FUN_0005fa00") (argument_list "(*(undefined4 *)(unaff_EBP + -0x10c))" (( "(") (pointer_expression "*(undefined4 *)(unaff_EBP + -0x10c)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0x10c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x10c)" (( "(") (binary_expression "unaff_EBP + -0x10c" (identifier "unaff_EBP") (+ "+") (number_literal "-0x10c")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_0003c886();" (call_expression "FUN_0003c886()" (identifier "FUN_0003c886") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));" (call_expression "FUN_00144a40(*(undefined4 *)(unaff_EBP + -300))" (identifier "FUN_00144a40") (argument_list "(*(undefined4 *)(unaff_EBP + -300))" (( "(") (pointer_expression "*(undefined4 *)(unaff_EBP + -300)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -300)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -300)" (( "(") (binary_expression "unaff_EBP + -300" (identifier "unaff_EBP") (+ "+") (number_literal "-300")) () ")")))) () ")"))) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);" (assignment_expression "puVar3 = *(undefined4 **)(unaff_EBP + -0xa8)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(unaff_EBP + -0xa8)" (* "*") (cast_expression "(undefined4 **)(unaff_EBP + -0xa8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EBP + -0xa8)" (( "(") (binary_expression "unaff_EBP + -0xa8" (identifier "unaff_EBP") (+ "+") (number_literal "-0xa8")) () ")"))))) (; ";")) (while_statement "while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }" (while "while") (parenthesized_expression "(puVar3 != *(undefined4 **)(unaff_EBP + -0x11c))" (( "(") (binary_expression "puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)" (identifier "puVar3") (!= "!=") (pointer_expression "*(undefined4 **)(unaff_EBP + -0x11c)" (* "*") (cast_expression "(undefined4 **)(unaff_EBP + -0x11c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EBP + -0x11c)" (( "(") (binary_expression "unaff_EBP + -0x11c" (identifier "unaff_EBP") (+ "+") (number_literal "-0x11c")) () ")"))))) () ")")) (compound_statement "{\n    puVar2 = (undefined4 *)*puVar3;\n    FUN_003ae080(puVar3);\n    puVar3 = puVar2;\n  }" ({ "{") (expression_statement "puVar2 = (undefined4 *)*puVar3;" (assignment_expression "puVar2 = (undefined4 *)*puVar3" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)*puVar3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) (; ";")) (expression_statement "FUN_003ae080(puVar3);" (call_expression "FUN_003ae080(puVar3)" (identifier "FUN_003ae080") (argument_list "(puVar3)" (( "(") (identifier "puVar3") () ")"))) (; ";")) (expression_statement "puVar3 = puVar2;" (assignment_expression "puVar3 = puVar2" (identifier "puVar3") (= "=") (identifier "puVar2")) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_EBP + -0xb4) != 0) {\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0xb4) != 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + -0xb4) != 0" (pointer_expression "*(int *)(unaff_EBP + -0xb4)" (* "*") (cast_expression "(int *)(unaff_EBP + -0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0xb4)" (( "(") (binary_expression "unaff_EBP + -0xb4" (identifier "unaff_EBP") (+ "+") (number_literal "-0xb4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));\n  }" ({ "{") (expression_statement "FUN_003ae080(*(int *)(unaff_EBP + -0xb4));" (call_expression "FUN_003ae080(*(int *)(unaff_EBP + -0xb4))" (identifier "FUN_003ae080") (argument_list "(*(int *)(unaff_EBP + -0xb4))" (( "(") (pointer_expression "*(int *)(unaff_EBP + -0xb4)" (* "*") (cast_expression "(int *)(unaff_EBP + -0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0xb4)" (( "(") (binary_expression "unaff_EBP + -0xb4" (identifier "unaff_EBP") (+ "+") (number_literal "-0xb4")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0010a790();" (call_expression "FUN_0010a790()" (identifier "FUN_0010a790") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_004451f0();" (call_expression "FUN_004451f0()" (identifier "FUN_004451f0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* (anonymous namespace)::Target_arm<false>::do_relax(int, gold::Input_objects const*,
   gold::Symbol_table*, gold::Layout*, gold::Task const*) [clone .cold.1868] */

void (function_1)::Target_arm<false>::do_relax
               (int param_1,type_1 *param_2,type_2 *param_3,type_3 *param_4,
               type_4 *param_5)

{
  int var_5;
  type_5 *puVar2;
  type_5 *var_10;
  int var_4;
  _Rb_tree<gold::var_1*,_gold::var_1*,_std::_Identity<gold::var_1*>,var_2(function_1)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::var_1*>var_2>
  *unaff_retaddr;
  type_6 *this;
  type_4 *task;
  
  task = (type_4 *)0x40;
  var_3(*(void **)(var_4 + -0xf8),0x40);
  var_5 = *(int *)(*(int *)(var_4 + -0x120) + 0x1c);
  if (var_5 != 0) {
    task = *(type_4 **)(var_4 + 0x1c);
    gold::File_read::var_6((type_7 *)(var_5 + 0x1c),task);
  }
  this = *(type_6 **)(var_4 + -0x10c);
  std::
  var_9<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>var_2>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_2>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_7<true,var_8,var_8>var_2>
  ::~var_9((var_9<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>var_2>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_2>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_7<true,var_8,var_8>var_2>
                 *)this,(int)task);
  anon_unknown.dwarf_91258a::Arm_exidx_fixup::~type_6(this,(int)task);
  std::
  var_9<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::var_1::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::var_1::Input_section*>var_2>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_2>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_7<true,_false,var_8>var_2>
  ::~var_9(*(var_9<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::var_1::Input_section*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_const_gold::var_1::Input_section*>var_2>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>var_2>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_7<true,_false,var_8>var_2>
                  **)(var_4 + -300),(int)task);
  var_10 = *(type_5 **)(var_4 + -0xa8);
  while (var_10 != *(type_5 **)(var_4 + -0x11c)) {
    puVar2 = (type_5 *)*var_10;
    var_3(var_10);
    var_10 = puVar2;
  }
  if (*(void **)(var_4 + -0xb4) != (void *)0x0) {
    var_3(*(void **)(var_4 + -0xb4));
  }
  std::
  _Rb_tree<gold::var_1*,_gold::var_1*,_std::_Identity<gold::var_1*>,var_2(function_1)::Target_arm<false>::output_section_address_less_than,_std::allocator<gold::var_1*>var_2>
  ::var_11(unaff_retaddr,(type_8)param_1);
                    /* WARNING: Subroutine does not return */
  var_12();
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (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))))) (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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 (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))) (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

void __regparm3 MASKED(undefined4 param_1)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 *puVar3;
  int unaff_EBP;
  
  FUN_003ae060(*(undefined4 *)(unaff_EBP + -0xf8),0x40,param_1,param_1);
  iVar1 = *(int *)(*(int *)(unaff_EBP + -0x120) + 0x1c);
  if (iVar1 != 0) {
    FUN_0023dd30(iVar1 + 0x1c,*(undefined4 *)(unaff_EBP + 0x1c));
  }
  FUN_0005fa00(*(undefined4 *)(unaff_EBP + -0x10c));
  FUN_0003c886();
  FUN_00144a40(*(undefined4 *)(unaff_EBP + -300));
  puVar3 = *(undefined4 **)(unaff_EBP + -0xa8);
  while (puVar3 != *(undefined4 **)(unaff_EBP + -0x11c)) {
    puVar2 = (undefined4 *)*puVar3;
    FUN_003ae080(puVar3);
    puVar3 = puVar2;
  }
  if (*(int *)(unaff_EBP + -0xb4) != 0) {
    FUN_003ae080(*(int *)(unaff_EBP + -0xb4));
  }
  FUN_0010a790();
                    /* WARNING: Subroutine does not return */
  FUN_004451f0();
}

