
/* WARNING: Enum "DT": Some values do not have unique names */

void FUN_00026d79(void)

{
  undefined4 uVar1;
  int unaff_EBP;
  Stringpool_template<char> *unaff_ESI;
  Stringpool_template<char> *unaff_EDI;
  int iVar2;
  int in_stack_fffffff4;
  
  if (*(void **)(unaff_EBP + -0x5ac0) != (void *)0x0) {
    operator_delete(*(void **)(unaff_EBP + -0x5ac0));
  }
  if (*(void **)(unaff_EBP + -0x5ae0) != (void *)0x0) {
    operator_delete(*(void **)(unaff_EBP + -0x5ae0));
  }
  gold::Stringpool_template<char>::~Stringpool_template(unaff_ESI,in_stack_fffffff4);
  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);
  gold::Stringpool_template<char>::~Stringpool_template(unaff_EDI,in_stack_fffffff4);
  if (*(void **)(unaff_EBP + -0x5ba4) != (void *)0x0) {
    operator_delete(*(void **)(unaff_EBP + -0x5ba4));
  }
  iVar2 = *(int *)(unaff_EBP + -0x5bb0);
  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);
  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {
    if (*(void **)(iVar2 + 0x14) != (void *)0x0) {
      operator_delete(*(void **)(iVar2 + 0x14));
    }
  }
  if (*(void **)(unaff_EBP + -0x5bb0) != (void *)0x0) {
    operator_delete(*(void **)(unaff_EBP + -0x5bb0));
  }
  if (*(void **)(unaff_EBP + -0x5c68) != *(void **)(unaff_EBP + -0x5ca4)) {
    operator_delete(*(void **)(unaff_EBP + -0x5c68));
  }
  std::vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_>::~vector
            (*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)
              (unaff_EBP + -0x5c80),in_stack_fffffff4);
  gold::General_options::~General_options
            (*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4);
  std::
  _Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);
                    /* WARNING: Subroutine does not return */
  _Unwind_Resume(uVar1);
}



void FUN_00026d79(void)

{
  undefined4 uVar1;
  int unaff_EBP;
  int iVar2;
  
  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));
  }
  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));
  }
  FUN_0011e1d0();
  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);
  FUN_0011e1d0();
  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));
  }
  iVar2 = *(int *)(unaff_EBP + -0x5bb0);
  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);
  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {
    if (*(int *)(iVar2 + 0x14) != 0) {
      FUN_001807a0(*(int *)(iVar2 + 0x14));
    }
  }
  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));
  }
  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));
  }
  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));
  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));
  FUN_00046ea0(unaff_EBP + -0x5bf4);
                    /* WARNING: Subroutine does not return */
  FUN_00217770(uVar1);
}


MOV EAX,dword ptr [EBP + 0xffffa540]
TEST EAX,EAX
JZ 0x00026d95
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffa384]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffa520]
TEST EAX,EAX
JZ 0x00026db1
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffa384]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffa384]
PUSH ESI
CALL 0x0011e1d0
MOV ESI,dword ptr [EBP + 0xffffa37c]
ADD ESP,0x10
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffa384]
PUSH EDI
CALL 0x0011e1d0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffa45c]
TEST EAX,EAX
JZ 0x00026df7
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffa384]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffa454]
MOV EDI,dword ptr [EBP + 0xffffa450]
MOV dword ptr [EBP + 0xffffa37c],EAX
CMP dword ptr [EBP + 0xffffa37c],EDI
JNZ 0x00026e90
MOV EAX,dword ptr [EBP + 0xffffa450]
TEST EAX,EAX
JZ 0x00026d1a
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffa384]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
JMP 0x00026d1a
MOV EAX,dword ptr [EDI + 0x14]
TEST EAX,EAX
JZ 0x00026ea9
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffa384]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
ADD EDI,0x20
JMP 0x00026e09
(translation_unit "void FUN_00026d79(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int iVar2;\n  \n  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }\n  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }\n  FUN_0011e1d0();\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  FUN_0011e1d0();\n  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }\n  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }\n  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }\n  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));\n  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));\n  FUN_00046ea0(unaff_EBP + -0x5bf4);\n                    /* WARNING: Subroutine does not return */\n  FUN_00217770(uVar1);\n}\n\n" (function_definition "void FUN_00026d79(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int iVar2;\n  \n  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }\n  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }\n  FUN_0011e1d0();\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  FUN_0011e1d0();\n  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }\n  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }\n  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }\n  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));\n  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));\n  FUN_00046ea0(unaff_EBP + -0x5bf4);\n                    /* WARNING: Subroutine does not return */\n  FUN_00217770(uVar1);\n}" primitive_type (function_declarator "FUN_00026d79(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int iVar2;\n  \n  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }\n  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }\n  FUN_0011e1d0();\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  FUN_0011e1d0();\n  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }\n  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }\n  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }\n  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));\n  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));\n  FUN_00046ea0(unaff_EBP + -0x5bf4);\n                    /* WARNING: Subroutine does not return */\n  FUN_00217770(uVar1);\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (if_statement "if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5ac0) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0x5ac0) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5ac0)" * (cast_expression "(int *)(unaff_EBP + -0x5ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ac0)" ( (binary_expression "unaff_EBP + -0x5ac0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5ac0))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5ac0)" * (cast_expression "(int *)(unaff_EBP + -0x5ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ac0)" ( (binary_expression "unaff_EBP + -0x5ac0" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5ae0) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0x5ae0) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5ae0)" * (cast_expression "(int *)(unaff_EBP + -0x5ae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ae0)" ( (binary_expression "unaff_EBP + -0x5ae0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5ae0))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5ae0)" * (cast_expression "(int *)(unaff_EBP + -0x5ae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ae0)" ( (binary_expression "unaff_EBP + -0x5ae0" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_0011e1d0();" (call_expression "FUN_0011e1d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);" (assignment_expression "uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84)" identifier = (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c84)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5c84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c84)" ( (binary_expression "unaff_EBP + -0x5c84" identifier + number_literal) ))))) ;) (expression_statement "FUN_0011e1d0();" (call_expression "FUN_0011e1d0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5ba4) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0x5ba4) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5ba4)" * (cast_expression "(int *)(unaff_EBP + -0x5ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ba4)" ( (binary_expression "unaff_EBP + -0x5ba4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5ba4))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5ba4)" * (cast_expression "(int *)(unaff_EBP + -0x5ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ba4)" ( (binary_expression "unaff_EBP + -0x5ba4" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar2 = *(int *)(unaff_EBP + -0x5bb0);" (assignment_expression "iVar2 = *(int *)(unaff_EBP + -0x5bb0)" identifier = (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" * (cast_expression "(int *)(unaff_EBP + -0x5bb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bb0)" ( (binary_expression "unaff_EBP + -0x5bb0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);" (assignment_expression "*(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac)" (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c84)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5c84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c84)" ( (binary_expression "unaff_EBP + -0x5c84" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5bac)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5bac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bac)" ( (binary_expression "unaff_EBP + -0x5bac" identifier + number_literal) ))))) ;) (for_statement "for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }" for ( ; (binary_expression "*(int *)(unaff_EBP + -0x5c84) != iVar2" (pointer_expression "*(int *)(unaff_EBP + -0x5c84)" * (cast_expression "(int *)(unaff_EBP + -0x5c84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c84)" ( (binary_expression "unaff_EBP + -0x5c84" identifier + number_literal) )))) != identifier) ; (assignment_expression "iVar2 = iVar2 + 0x20" identifier = (binary_expression "iVar2 + 0x20" identifier + number_literal)) ) (compound_statement "{\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }" { (if_statement "if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar2 + 0x14) != 0" (pointer_expression "*(int *)(iVar2 + 0x14)" * (cast_expression "(int *)(iVar2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }" { (expression_statement "FUN_001807a0(*(int *)(iVar2 + 0x14));" (call_expression "FUN_001807a0(*(int *)(iVar2 + 0x14))" identifier (argument_list "(*(int *)(iVar2 + 0x14))" ( (pointer_expression "*(int *)(iVar2 + 0x14)" * (cast_expression "(int *)(iVar2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) ))) ;) })) })) (if_statement "if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5bb0) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0x5bb0) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" * (cast_expression "(int *)(unaff_EBP + -0x5bb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bb0)" ( (binary_expression "unaff_EBP + -0x5bb0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5bb0))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" * (cast_expression "(int *)(unaff_EBP + -0x5bb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bb0)" ( (binary_expression "unaff_EBP + -0x5bb0" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4))" ( (binary_expression "*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)" (pointer_expression "*(int *)(unaff_EBP + -0x5c68)" * (cast_expression "(int *)(unaff_EBP + -0x5c68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c68)" ( (binary_expression "unaff_EBP + -0x5c68" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_EBP + -0x5ca4)" * (cast_expression "(int *)(unaff_EBP + -0x5ca4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ca4)" ( (binary_expression "unaff_EBP + -0x5ca4" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5c68))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5c68))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5c68)" * (cast_expression "(int *)(unaff_EBP + -0x5c68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c68)" ( (binary_expression "unaff_EBP + -0x5c68" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));" (call_expression "FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x5c80))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c80)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5c80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c80)" ( (binary_expression "unaff_EBP + -0x5c80" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));" (call_expression "FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x5ca0))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5ca0)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5ca0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ca0)" ( (binary_expression "unaff_EBP + -0x5ca0" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_00046ea0(unaff_EBP + -0x5bf4);" (call_expression "FUN_00046ea0(unaff_EBP + -0x5bf4)" identifier (argument_list "(unaff_EBP + -0x5bf4)" ( (binary_expression "unaff_EBP + -0x5bf4" identifier + number_literal) ))) ;) comment (expression_statement "FUN_00217770(uVar1);" (call_expression "FUN_00217770(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n\nvoid FUN_00026d79(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  Stringpool_template<char> *unaff_ESI;\n  Stringpool_template<char> *unaff_EDI;\n  int iVar2;\n  int in_stack_fffffff4;\n  \n  if (*(void **)(unaff_EBP + -0x5ac0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ac0));\n  }\n  if (*(void **)(unaff_EBP + -0x5ae0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ae0));\n  }\n  gold::Stringpool_template<char>::~Stringpool_template(unaff_ESI,in_stack_fffffff4);\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  gold::Stringpool_template<char>::~Stringpool_template(unaff_EDI,in_stack_fffffff4);\n  if (*(void **)(unaff_EBP + -0x5ba4) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(void **)(iVar2 + 0x14) != (void *)0x0) {\n      operator_delete(*(void **)(iVar2 + 0x14));\n    }\n  }\n  if (*(void **)(unaff_EBP + -0x5bb0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5bb0));\n  }\n  if (*(void **)(unaff_EBP + -0x5c68) != *(void **)(unaff_EBP + -0x5ca4)) {\n    operator_delete(*(void **)(unaff_EBP + -0x5c68));\n  }\n  std::vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_>::~vector\n            (*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80),in_stack_fffffff4);\n  gold::General_options::~General_options\n            (*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4);\n  std::\n  _Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(uVar1);\n}\n\n" comment (function_definition "void FUN_00026d79(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  Stringpool_template<char> *unaff_ESI;\n  Stringpool_template<char> *unaff_EDI;\n  int iVar2;\n  int in_stack_fffffff4;\n  \n  if (*(void **)(unaff_EBP + -0x5ac0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ac0));\n  }\n  if (*(void **)(unaff_EBP + -0x5ae0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ae0));\n  }\n  gold::Stringpool_template<char>::~Stringpool_template(unaff_ESI,in_stack_fffffff4);\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  gold::Stringpool_template<char>::~Stringpool_template(unaff_EDI,in_stack_fffffff4);\n  if (*(void **)(unaff_EBP + -0x5ba4) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(void **)(iVar2 + 0x14) != (void *)0x0) {\n      operator_delete(*(void **)(iVar2 + 0x14));\n    }\n  }\n  if (*(void **)(unaff_EBP + -0x5bb0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5bb0));\n  }\n  if (*(void **)(unaff_EBP + -0x5c68) != *(void **)(unaff_EBP + -0x5ca4)) {\n    operator_delete(*(void **)(unaff_EBP + -0x5c68));\n  }\n  std::vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_>::~vector\n            (*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80),in_stack_fffffff4);\n  gold::General_options::~General_options\n            (*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4);\n  std::\n  _Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(uVar1);\n}" primitive_type (function_declarator "FUN_00026d79(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EBP;\n  Stringpool_template<char> *unaff_ESI;\n  Stringpool_template<char> *unaff_EDI;\n  int iVar2;\n  int in_stack_fffffff4;\n  \n  if (*(void **)(unaff_EBP + -0x5ac0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ac0));\n  }\n  if (*(void **)(unaff_EBP + -0x5ae0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ae0));\n  }\n  gold::Stringpool_template<char>::~Stringpool_template(unaff_ESI,in_stack_fffffff4);\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  gold::Stringpool_template<char>::~Stringpool_template(unaff_EDI,in_stack_fffffff4);\n  if (*(void **)(unaff_EBP + -0x5ba4) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(void **)(iVar2 + 0x14) != (void *)0x0) {\n      operator_delete(*(void **)(iVar2 + 0x14));\n    }\n  }\n  if (*(void **)(unaff_EBP + -0x5bb0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5bb0));\n  }\n  if (*(void **)(unaff_EBP + -0x5c68) != *(void **)(unaff_EBP + -0x5ca4)) {\n    operator_delete(*(void **)(unaff_EBP + -0x5c68));\n  }\n  std::vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_>::~vector\n            (*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80),in_stack_fffffff4);\n  gold::General_options::~General_options\n            (*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4);\n  std::\n  _Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(uVar1);\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (expression_statement "Stringpool_template<char> *unaff_ESI;" (binary_expression "Stringpool_template<char> *unaff_ESI" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*unaff_ESI" * identifier)) ;) (expression_statement "Stringpool_template<char> *unaff_EDI;" (binary_expression "Stringpool_template<char> *unaff_EDI" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*unaff_EDI" * identifier)) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int in_stack_fffffff4;" primitive_type identifier ;) (if_statement "if (*(void **)(unaff_EBP + -0x5ac0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ac0));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0x5ac0) != (void *)0x0)" ( (binary_expression "*(void **)(unaff_EBP + -0x5ac0) != (void *)0x0" (pointer_expression "*(void **)(unaff_EBP + -0x5ac0)" * (cast_expression "(void **)(unaff_EBP + -0x5ac0)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5ac0)" ( (binary_expression "unaff_EBP + -0x5ac0" 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 + -0x5ac0));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_EBP + -0x5ac0));" (call_expression "operator_delete(*(void **)(unaff_EBP + -0x5ac0))" identifier (argument_list "(*(void **)(unaff_EBP + -0x5ac0))" ( (pointer_expression "*(void **)(unaff_EBP + -0x5ac0)" * (cast_expression "(void **)(unaff_EBP + -0x5ac0)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5ac0)" ( (binary_expression "unaff_EBP + -0x5ac0" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(void **)(unaff_EBP + -0x5ae0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ae0));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0x5ae0) != (void *)0x0)" ( (binary_expression "*(void **)(unaff_EBP + -0x5ae0) != (void *)0x0" (pointer_expression "*(void **)(unaff_EBP + -0x5ae0)" * (cast_expression "(void **)(unaff_EBP + -0x5ae0)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5ae0)" ( (binary_expression "unaff_EBP + -0x5ae0" 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 + -0x5ae0));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_EBP + -0x5ae0));" (call_expression "operator_delete(*(void **)(unaff_EBP + -0x5ae0))" identifier (argument_list "(*(void **)(unaff_EBP + -0x5ae0))" ( (pointer_expression "*(void **)(unaff_EBP + -0x5ae0)" * (cast_expression "(void **)(unaff_EBP + -0x5ae0)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5ae0)" ( (binary_expression "unaff_EBP + -0x5ae0" identifier + number_literal) )))) ))) ;) })) (labeled_statement "gold::Stringpool_template<char>::~Stringpool_template(unaff_ESI,in_stack_fffffff4);" statement_identifier (ERROR "::Stringpool_template<char>:" : : (binary_expression "Stringpool_template<char" identifier < identifier) > :) : (expression_statement "~Stringpool_template(unaff_ESI,in_stack_fffffff4);" (unary_expression "~Stringpool_template(unaff_ESI,in_stack_fffffff4)" ~ (call_expression "Stringpool_template(unaff_ESI,in_stack_fffffff4)" identifier (argument_list "(unaff_ESI,in_stack_fffffff4)" ( identifier , identifier )))) ;)) (expression_statement "uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);" (assignment_expression "uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84)" identifier = (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c84)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5c84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c84)" ( (binary_expression "unaff_EBP + -0x5c84" identifier + number_literal) ))))) ;) (labeled_statement "gold::Stringpool_template<char>::~Stringpool_template(unaff_EDI,in_stack_fffffff4);" statement_identifier (ERROR "::Stringpool_template<char>:" : : (binary_expression "Stringpool_template<char" identifier < identifier) > :) : (expression_statement "~Stringpool_template(unaff_EDI,in_stack_fffffff4);" (unary_expression "~Stringpool_template(unaff_EDI,in_stack_fffffff4)" ~ (call_expression "Stringpool_template(unaff_EDI,in_stack_fffffff4)" identifier (argument_list "(unaff_EDI,in_stack_fffffff4)" ( identifier , identifier )))) ;)) (if_statement "if (*(void **)(unaff_EBP + -0x5ba4) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5ba4));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0x5ba4) != (void *)0x0)" ( (binary_expression "*(void **)(unaff_EBP + -0x5ba4) != (void *)0x0" (pointer_expression "*(void **)(unaff_EBP + -0x5ba4)" * (cast_expression "(void **)(unaff_EBP + -0x5ba4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5ba4)" ( (binary_expression "unaff_EBP + -0x5ba4" 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 + -0x5ba4));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_EBP + -0x5ba4));" (call_expression "operator_delete(*(void **)(unaff_EBP + -0x5ba4))" identifier (argument_list "(*(void **)(unaff_EBP + -0x5ba4))" ( (pointer_expression "*(void **)(unaff_EBP + -0x5ba4)" * (cast_expression "(void **)(unaff_EBP + -0x5ba4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5ba4)" ( (binary_expression "unaff_EBP + -0x5ba4" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar2 = *(int *)(unaff_EBP + -0x5bb0);" (assignment_expression "iVar2 = *(int *)(unaff_EBP + -0x5bb0)" identifier = (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" * (cast_expression "(int *)(unaff_EBP + -0x5bb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bb0)" ( (binary_expression "unaff_EBP + -0x5bb0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);" (assignment_expression "*(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac)" (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c84)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5c84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c84)" ( (binary_expression "unaff_EBP + -0x5c84" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5bac)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5bac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bac)" ( (binary_expression "unaff_EBP + -0x5bac" identifier + number_literal) ))))) ;) (for_statement "for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(void **)(iVar2 + 0x14) != (void *)0x0) {\n      operator_delete(*(void **)(iVar2 + 0x14));\n    }\n  }" for ( ; (binary_expression "*(int *)(unaff_EBP + -0x5c84) != iVar2" (pointer_expression "*(int *)(unaff_EBP + -0x5c84)" * (cast_expression "(int *)(unaff_EBP + -0x5c84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c84)" ( (binary_expression "unaff_EBP + -0x5c84" identifier + number_literal) )))) != identifier) ; (assignment_expression "iVar2 = iVar2 + 0x20" identifier = (binary_expression "iVar2 + 0x20" identifier + number_literal)) ) (compound_statement "{\n    if (*(void **)(iVar2 + 0x14) != (void *)0x0) {\n      operator_delete(*(void **)(iVar2 + 0x14));\n    }\n  }" { (if_statement "if (*(void **)(iVar2 + 0x14) != (void *)0x0) {\n      operator_delete(*(void **)(iVar2 + 0x14));\n    }" if (parenthesized_expression "(*(void **)(iVar2 + 0x14) != (void *)0x0)" ( (binary_expression "*(void **)(iVar2 + 0x14) != (void *)0x0" (pointer_expression "*(void **)(iVar2 + 0x14)" * (cast_expression "(void **)(iVar2 + 0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      operator_delete(*(void **)(iVar2 + 0x14));\n    }" { (expression_statement "operator_delete(*(void **)(iVar2 + 0x14));" (call_expression "operator_delete(*(void **)(iVar2 + 0x14))" identifier (argument_list "(*(void **)(iVar2 + 0x14))" ( (pointer_expression "*(void **)(iVar2 + 0x14)" * (cast_expression "(void **)(iVar2 + 0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) ))) ;) })) })) (if_statement "if (*(void **)(unaff_EBP + -0x5bb0) != (void *)0x0) {\n    operator_delete(*(void **)(unaff_EBP + -0x5bb0));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0x5bb0) != (void *)0x0)" ( (binary_expression "*(void **)(unaff_EBP + -0x5bb0) != (void *)0x0" (pointer_expression "*(void **)(unaff_EBP + -0x5bb0)" * (cast_expression "(void **)(unaff_EBP + -0x5bb0)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5bb0)" ( (binary_expression "unaff_EBP + -0x5bb0" 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 + -0x5bb0));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_EBP + -0x5bb0));" (call_expression "operator_delete(*(void **)(unaff_EBP + -0x5bb0))" identifier (argument_list "(*(void **)(unaff_EBP + -0x5bb0))" ( (pointer_expression "*(void **)(unaff_EBP + -0x5bb0)" * (cast_expression "(void **)(unaff_EBP + -0x5bb0)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5bb0)" ( (binary_expression "unaff_EBP + -0x5bb0" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(void **)(unaff_EBP + -0x5c68) != *(void **)(unaff_EBP + -0x5ca4)) {\n    operator_delete(*(void **)(unaff_EBP + -0x5c68));\n  }" if (parenthesized_expression "(*(void **)(unaff_EBP + -0x5c68) != *(void **)(unaff_EBP + -0x5ca4))" ( (binary_expression "*(void **)(unaff_EBP + -0x5c68) != *(void **)(unaff_EBP + -0x5ca4)" (pointer_expression "*(void **)(unaff_EBP + -0x5c68)" * (cast_expression "(void **)(unaff_EBP + -0x5c68)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5c68)" ( (binary_expression "unaff_EBP + -0x5c68" identifier + number_literal) )))) != (pointer_expression "*(void **)(unaff_EBP + -0x5ca4)" * (cast_expression "(void **)(unaff_EBP + -0x5ca4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5ca4)" ( (binary_expression "unaff_EBP + -0x5ca4" identifier + number_literal) ))))) )) (compound_statement "{\n    operator_delete(*(void **)(unaff_EBP + -0x5c68));\n  }" { (expression_statement "operator_delete(*(void **)(unaff_EBP + -0x5c68));" (call_expression "operator_delete(*(void **)(unaff_EBP + -0x5c68))" identifier (argument_list "(*(void **)(unaff_EBP + -0x5c68))" ( (pointer_expression "*(void **)(unaff_EBP + -0x5c68)" * (cast_expression "(void **)(unaff_EBP + -0x5c68)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5c68)" ( (binary_expression "unaff_EBP + -0x5c68" identifier + number_literal) )))) ))) ;) })) (labeled_statement "std::vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_>::~vector\n            (*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80),in_stack_fffffff4);" statement_identifier (ERROR "::vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_>:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Dwo_file_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Dwo_file_entry>_" identifier > identifier) > :) : (expression_statement "~vector\n            (*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80),in_stack_fffffff4);" (unary_expression "~vector\n            (*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80),in_stack_fffffff4)" ~ (call_expression "vector\n            (*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80),in_stack_fffffff4)" identifier (argument_list "(*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80),in_stack_fffffff4)" ( (pointer_expression "*(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80)" * (call_expression "(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)\n              (unaff_EBP + -0x5c80)" (parenthesized_expression "(vector<gold::Dwo_file_entry,_std::allocator<gold::Dwo_file_entry>_> **)" ( (ERROR "vector<gold::Dwo_file_entry,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Dwo_file_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Dwo_file_entry>_> **" (binary_expression "Dwo_file_entry>_" identifier > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "(unaff_EBP + -0x5c80)" ( (binary_expression "unaff_EBP + -0x5c80" identifier + number_literal) )))) , identifier )))) ;)) (labeled_statement "gold::General_options::~General_options\n            (*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4);" statement_identifier : (ERROR ":" :) (labeled_statement "General_options::~General_options\n            (*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4);" statement_identifier : (ERROR ":" :) (expression_statement "~General_options\n            (*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4);" (unary_expression "~General_options\n            (*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4)" ~ (call_expression "General_options\n            (*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4)" identifier (argument_list "(*(General_options **)(unaff_EBP + -0x5ca0),in_stack_fffffff4)" ( (pointer_expression "*(General_options **)(unaff_EBP + -0x5ca0)" * (cast_expression "(General_options **)(unaff_EBP + -0x5ca0)" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + -0x5ca0)" ( (binary_expression "unaff_EBP + -0x5ca0" identifier + number_literal) )))) , identifier )))) ;))) (ERROR "std::\n  _Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::" (comma_expression "std::\n  _Hashtable<const_gold::Symbol*,_std" identifier (ERROR "::\n  _Hashtable<const_gold::Symbol*" : : (binary_expression "_Hashtable<const_gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Symbol*_const,_int>,_std" (binary_expression "Symbol*_const" identifier * identifier) , (binary_expression "_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Symbol*_const,_int>_>,_std" (binary_expression "Symbol*_const" identifier * identifier) , (binary_expression "_int>_>,_std" (binary_expression "_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : :) (labeled_statement "__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);" statement_identifier (ERROR "::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std:" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<const_gold" identifier < identifier) : : (comma_expression "Symbol*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "hash<const_gold" identifier < identifier) : : (comma_expression "Symbol*>,_std" identifier (ERROR "*>" * >) , identifier) :) : (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4);" (comma_expression "_Hashtable_traits<false,_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4)" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4)" identifier , (binary_expression "_true>_>\n  ::~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (unary_expression "~_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4)" ~ (call_expression "_Hashtable((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4)" identifier (argument_list "((_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4),in_stack_fffffff4)" ( (call_expression "(_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)(unaff_EBP + -0x5bf4)" (parenthesized_expression "(_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                 *)" ( (ERROR "_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>_>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std" (binary_expression "_Hashtable<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const" (binary_expression "_Hashtable<const_gold::Symbol*,_std::pair<const_gold" (binary_expression "_Hashtable<const_gold::Symbol*,_std" (binary_expression "_Hashtable<const_gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , (binary_expression "_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Symbol*_const,_int>_>,_std" (binary_expression "Symbol*_const" identifier * identifier) , (binary_expression "_int>_>,_std" (binary_expression "_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<const_gold" identifier < identifier) : : (comma_expression "Symbol*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "hash<const_gold" identifier < identifier) : : (comma_expression "Symbol*>,_std" identifier (ERROR "*>" * >) , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<false,_false,_true>_>\n                 *" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n                 *" identifier , (binary_expression "_true>_>\n                 *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) (argument_list "(unaff_EBP + -0x5bf4)" ( (binary_expression "unaff_EBP + -0x5bf4" identifier + number_literal) ))) , identifier ))))))) ;)))))) comment (expression_statement "_Unwind_Resume(uVar1);" (call_expression "_Unwind_Resume(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) })))
(translation_unit "void FUN_00026d79(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int iVar2;\n  \n  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }\n  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }\n  FUN_0011e1d0();\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  FUN_0011e1d0();\n  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }\n  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }\n  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }\n  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));\n  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));\n  FUN_00046ea0(unaff_EBP + -0x5bf4);\n                    \n  FUN_00217770(uVar1);\n}\n\n" (function_definition "void FUN_00026d79(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int iVar2;\n  \n  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }\n  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }\n  FUN_0011e1d0();\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  FUN_0011e1d0();\n  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }\n  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }\n  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }\n  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));\n  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));\n  FUN_00046ea0(unaff_EBP + -0x5bf4);\n                    \n  FUN_00217770(uVar1);\n}" primitive_type (function_declarator "FUN_00026d79(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int iVar2;\n  \n  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }\n  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }\n  FUN_0011e1d0();\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  FUN_0011e1d0();\n  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }\n  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }\n  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }\n  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));\n  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));\n  FUN_00046ea0(unaff_EBP + -0x5bf4);\n                    \n  FUN_00217770(uVar1);\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (if_statement "if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5ac0) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0x5ac0) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5ac0)" * (cast_expression "(int *)(unaff_EBP + -0x5ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ac0)" ( (binary_expression "unaff_EBP + -0x5ac0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5ac0))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5ac0)" * (cast_expression "(int *)(unaff_EBP + -0x5ac0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ac0)" ( (binary_expression "unaff_EBP + -0x5ac0" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5ae0) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0x5ae0) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5ae0)" * (cast_expression "(int *)(unaff_EBP + -0x5ae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ae0)" ( (binary_expression "unaff_EBP + -0x5ae0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5ae0))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5ae0)" * (cast_expression "(int *)(unaff_EBP + -0x5ae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ae0)" ( (binary_expression "unaff_EBP + -0x5ae0" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_0011e1d0();" (call_expression "FUN_0011e1d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);" (assignment_expression "uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84)" identifier = (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c84)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5c84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c84)" ( (binary_expression "unaff_EBP + -0x5c84" identifier + number_literal) ))))) ;) (expression_statement "FUN_0011e1d0();" (call_expression "FUN_0011e1d0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5ba4) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0x5ba4) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5ba4)" * (cast_expression "(int *)(unaff_EBP + -0x5ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ba4)" ( (binary_expression "unaff_EBP + -0x5ba4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5ba4))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5ba4)" * (cast_expression "(int *)(unaff_EBP + -0x5ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ba4)" ( (binary_expression "unaff_EBP + -0x5ba4" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar2 = *(int *)(unaff_EBP + -0x5bb0);" (assignment_expression "iVar2 = *(int *)(unaff_EBP + -0x5bb0)" identifier = (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" * (cast_expression "(int *)(unaff_EBP + -0x5bb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bb0)" ( (binary_expression "unaff_EBP + -0x5bb0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);" (assignment_expression "*(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac)" (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c84)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5c84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c84)" ( (binary_expression "unaff_EBP + -0x5c84" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5bac)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5bac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bac)" ( (binary_expression "unaff_EBP + -0x5bac" identifier + number_literal) ))))) ;) (for_statement "for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }" for ( ; (binary_expression "*(int *)(unaff_EBP + -0x5c84) != iVar2" (pointer_expression "*(int *)(unaff_EBP + -0x5c84)" * (cast_expression "(int *)(unaff_EBP + -0x5c84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c84)" ( (binary_expression "unaff_EBP + -0x5c84" identifier + number_literal) )))) != identifier) ; (assignment_expression "iVar2 = iVar2 + 0x20" identifier = (binary_expression "iVar2 + 0x20" identifier + number_literal)) ) (compound_statement "{\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }" { (if_statement "if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar2 + 0x14) != 0" (pointer_expression "*(int *)(iVar2 + 0x14)" * (cast_expression "(int *)(iVar2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }" { (expression_statement "FUN_001807a0(*(int *)(iVar2 + 0x14));" (call_expression "FUN_001807a0(*(int *)(iVar2 + 0x14))" identifier (argument_list "(*(int *)(iVar2 + 0x14))" ( (pointer_expression "*(int *)(iVar2 + 0x14)" * (cast_expression "(int *)(iVar2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) ))) ;) })) })) (if_statement "if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5bb0) != 0)" ( (binary_expression "*(int *)(unaff_EBP + -0x5bb0) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" * (cast_expression "(int *)(unaff_EBP + -0x5bb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bb0)" ( (binary_expression "unaff_EBP + -0x5bb0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5bb0))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" * (cast_expression "(int *)(unaff_EBP + -0x5bb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5bb0)" ( (binary_expression "unaff_EBP + -0x5bb0" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4))" ( (binary_expression "*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)" (pointer_expression "*(int *)(unaff_EBP + -0x5c68)" * (cast_expression "(int *)(unaff_EBP + -0x5c68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c68)" ( (binary_expression "unaff_EBP + -0x5c68" identifier + number_literal) )))) != (pointer_expression "*(int *)(unaff_EBP + -0x5ca4)" * (cast_expression "(int *)(unaff_EBP + -0x5ca4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ca4)" ( (binary_expression "unaff_EBP + -0x5ca4" identifier + number_literal) ))))) )) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }" { (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5c68))" identifier (argument_list "(*(int *)(unaff_EBP + -0x5c68))" ( (pointer_expression "*(int *)(unaff_EBP + -0x5c68)" * (cast_expression "(int *)(unaff_EBP + -0x5c68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c68)" ( (binary_expression "unaff_EBP + -0x5c68" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));" (call_expression "FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x5c80))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c80)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5c80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5c80)" ( (binary_expression "unaff_EBP + -0x5c80" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));" (call_expression "FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0))" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x5ca0))" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5ca0)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x5ca0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x5ca0)" ( (binary_expression "unaff_EBP + -0x5ca0" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_00046ea0(unaff_EBP + -0x5bf4);" (call_expression "FUN_00046ea0(unaff_EBP + -0x5bf4)" identifier (argument_list "(unaff_EBP + -0x5bf4)" ( (binary_expression "unaff_EBP + -0x5bf4" identifier + number_literal) ))) ;) (expression_statement "FUN_00217770(uVar1);" (call_expression "FUN_00217770(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (for_statement for ( ; (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })))
(function_definition "void FUN_00026d79(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int iVar2;\n  \n  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }\n  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }\n  FUN_0011e1d0();\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  FUN_0011e1d0();\n  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }\n  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }\n  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }\n  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));\n  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));\n  FUN_00046ea0(unaff_EBP + -0x5bf4);\n                    \n  FUN_00217770(uVar1);\n}" (primitive_type "void") (function_declarator "FUN_00026d79(void)" (identifier "FUN_00026d79") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int iVar2;\n  \n  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }\n  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }\n  FUN_0011e1d0();\n  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);\n  FUN_0011e1d0();\n  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }\n  iVar2 = *(int *)(unaff_EBP + -0x5bb0);\n  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);\n  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }\n  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }\n  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }\n  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));\n  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));\n  FUN_00046ea0(unaff_EBP + -0x5bf4);\n                    \n  FUN_00217770(uVar1);\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (if_statement "if (*(int *)(unaff_EBP + -0x5ac0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0x5ac0) != 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + -0x5ac0) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5ac0)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5ac0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5ac0)" (( "(") (binary_expression "unaff_EBP + -0x5ac0" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5ac0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));\n  }" ({ "{") (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0))" (identifier "FUN_001807a0") (argument_list "(*(int *)(unaff_EBP + -0x5ac0))" (( "(") (pointer_expression "*(int *)(unaff_EBP + -0x5ac0)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5ac0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5ac0)" (( "(") (binary_expression "unaff_EBP + -0x5ac0" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5ac0")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_EBP + -0x5ae0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0x5ae0) != 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + -0x5ae0) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5ae0)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5ae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5ae0)" (( "(") (binary_expression "unaff_EBP + -0x5ae0" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5ae0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));\n  }" ({ "{") (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0))" (identifier "FUN_001807a0") (argument_list "(*(int *)(unaff_EBP + -0x5ae0))" (( "(") (pointer_expression "*(int *)(unaff_EBP + -0x5ae0)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5ae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5ae0)" (( "(") (binary_expression "unaff_EBP + -0x5ae0" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5ae0")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0011e1d0();" (call_expression "FUN_0011e1d0()" (identifier "FUN_0011e1d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);" (assignment_expression "uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84)" (identifier "uVar1") (= "=") (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c84)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0x5c84)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5c84)" (( "(") (binary_expression "unaff_EBP + -0x5c84" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5c84")) () ")"))))) (; ";")) (expression_statement "FUN_0011e1d0();" (call_expression "FUN_0011e1d0()" (identifier "FUN_0011e1d0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(unaff_EBP + -0x5ba4) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0x5ba4) != 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + -0x5ba4) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5ba4)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5ba4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5ba4)" (( "(") (binary_expression "unaff_EBP + -0x5ba4" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5ba4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));\n  }" ({ "{") (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4))" (identifier "FUN_001807a0") (argument_list "(*(int *)(unaff_EBP + -0x5ba4))" (( "(") (pointer_expression "*(int *)(unaff_EBP + -0x5ba4)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5ba4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5ba4)" (( "(") (binary_expression "unaff_EBP + -0x5ba4" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5ba4")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(unaff_EBP + -0x5bb0);" (assignment_expression "iVar2 = *(int *)(unaff_EBP + -0x5bb0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5bb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5bb0)" (( "(") (binary_expression "unaff_EBP + -0x5bb0" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5bb0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);" (assignment_expression "*(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac)" (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c84)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0x5c84)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5c84)" (( "(") (binary_expression "unaff_EBP + -0x5c84" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5c84")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5bac)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0x5bac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5bac)" (( "(") (binary_expression "unaff_EBP + -0x5bac" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5bac")) () ")"))))) (; ";")) (for_statement "for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }" (for "for") (( "(") (; ";") (binary_expression "*(int *)(unaff_EBP + -0x5c84) != iVar2" (pointer_expression "*(int *)(unaff_EBP + -0x5c84)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5c84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5c84)" (( "(") (binary_expression "unaff_EBP + -0x5c84" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5c84")) () ")")))) (!= "!=") (identifier "iVar2")) (; ";") (assignment_expression "iVar2 = iVar2 + 0x20" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 0x20" (identifier "iVar2") (+ "+") (number_literal "0x20"))) () ")") (compound_statement "{\n    if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar2 + 0x14) != 0) {\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x14) != 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0x14) != 0" (pointer_expression "*(int *)(iVar2 + 0x14)" (* "*") (cast_expression "(int *)(iVar2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_001807a0(*(int *)(iVar2 + 0x14));\n    }" ({ "{") (expression_statement "FUN_001807a0(*(int *)(iVar2 + 0x14));" (call_expression "FUN_001807a0(*(int *)(iVar2 + 0x14))" (identifier "FUN_001807a0") (argument_list "(*(int *)(iVar2 + 0x14))" (( "(") (pointer_expression "*(int *)(iVar2 + 0x14)" (* "*") (cast_expression "(int *)(iVar2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (*(int *)(unaff_EBP + -0x5bb0) != 0) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0x5bb0) != 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + -0x5bb0) != 0" (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5bb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5bb0)" (( "(") (binary_expression "unaff_EBP + -0x5bb0" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5bb0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));\n  }" ({ "{") (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0))" (identifier "FUN_001807a0") (argument_list "(*(int *)(unaff_EBP + -0x5bb0))" (( "(") (pointer_expression "*(int *)(unaff_EBP + -0x5bb0)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5bb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5bb0)" (( "(") (binary_expression "unaff_EBP + -0x5bb0" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5bb0")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4))" (( "(") (binary_expression "*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)" (pointer_expression "*(int *)(unaff_EBP + -0x5c68)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5c68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5c68)" (( "(") (binary_expression "unaff_EBP + -0x5c68" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5c68")) () ")")))) (!= "!=") (pointer_expression "*(int *)(unaff_EBP + -0x5ca4)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5ca4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5ca4)" (( "(") (binary_expression "unaff_EBP + -0x5ca4" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5ca4")) () ")"))))) () ")")) (compound_statement "{\n    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));\n  }" ({ "{") (expression_statement "FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));" (call_expression "FUN_001807a0(*(int *)(unaff_EBP + -0x5c68))" (identifier "FUN_001807a0") (argument_list "(*(int *)(unaff_EBP + -0x5c68))" (( "(") (pointer_expression "*(int *)(unaff_EBP + -0x5c68)" (* "*") (cast_expression "(int *)(unaff_EBP + -0x5c68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5c68)" (( "(") (binary_expression "unaff_EBP + -0x5c68" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5c68")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));" (call_expression "FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80))" (identifier "FUN_00046f20") (argument_list "(*(undefined4 *)(unaff_EBP + -0x5c80))" (( "(") (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5c80)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0x5c80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5c80)" (( "(") (binary_expression "unaff_EBP + -0x5c80" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5c80")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));" (call_expression "FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0))" (identifier "FUN_00048b20") (argument_list "(*(undefined4 *)(unaff_EBP + -0x5ca0))" (( "(") (pointer_expression "*(undefined4 *)(unaff_EBP + -0x5ca0)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0x5ca0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x5ca0)" (( "(") (binary_expression "unaff_EBP + -0x5ca0" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5ca0")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_00046ea0(unaff_EBP + -0x5bf4);" (call_expression "FUN_00046ea0(unaff_EBP + -0x5bf4)" (identifier "FUN_00046ea0") (argument_list "(unaff_EBP + -0x5bf4)" (( "(") (binary_expression "unaff_EBP + -0x5bf4" (identifier "unaff_EBP") (+ "+") (number_literal "-0x5bf4")) () ")"))) (; ";")) (expression_statement "FUN_00217770(uVar1);" (call_expression "FUN_00217770(uVar1)" (identifier "FUN_00217770") (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */

void function_1(void)

{
  type_1 uVar1;
  int var_3;
  var_1<var_2> *unaff_ESI;
  var_1<var_2> *unaff_EDI;
  int var_5;
  int in_stack_fffffff4;
  
  if (*(void **)(var_3 + -0x5ac0) != (void *)0x0) {
    var_4(*(void **)(var_3 + -0x5ac0));
  }
  if (*(void **)(var_3 + -0x5ae0) != (void *)0x0) {
    var_4(*(void **)(var_3 + -0x5ae0));
  }
  gold::var_1<var_2>::~var_1(unaff_ESI,in_stack_fffffff4);
  uVar1 = *(type_1 *)(var_3 + -0x5c84);
  gold::var_1<var_2>::~var_1(unaff_EDI,in_stack_fffffff4);
  if (*(void **)(var_3 + -0x5ba4) != (void *)0x0) {
    var_4(*(void **)(var_3 + -0x5ba4));
  }
  var_5 = *(int *)(var_3 + -0x5bb0);
  *(type_1 *)(var_3 + -0x5c84) = *(type_1 *)(var_3 + -0x5bac);
  for (; *(int *)(var_3 + -0x5c84) != var_5; var_5 = var_5 + 0x20) {
    if (*(void **)(var_5 + 0x14) != (void *)0x0) {
      var_4(*(void **)(var_5 + 0x14));
    }
  }
  if (*(void **)(var_3 + -0x5bb0) != (void *)0x0) {
    var_4(*(void **)(var_3 + -0x5bb0));
  }
  if (*(void **)(var_3 + -0x5c68) != *(void **)(var_3 + -0x5ca4)) {
    var_4(*(void **)(var_3 + -0x5c68));
  }
  std::var_6<gold::var_7,_std::allocator<gold::var_7>var_8>::~var_6
            (*(var_6<gold::var_7,_std::allocator<gold::var_7>var_8> **)
              (var_3 + -0x5c80),in_stack_fffffff4);
  gold::General_options::~var_9
            (*(var_9 **)(var_3 + -0x5ca0),in_stack_fffffff4);
  std::
  var_12<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>var_8>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_10<false,_false,var_11>var_8>
  ::~var_12((var_12<const_gold::Symbol*,_std::pair<const_gold::Symbol*_const,_int>,_std::allocator<std::pair<const_gold::Symbol*_const,_int>var_8>,_std::__detail::_Select1st,_std::equal_to<const_gold::Symbol*>,_std::hash<const_gold::Symbol*>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_10<false,_false,var_11>var_8>
                 *)(var_3 + -0x5bf4),in_stack_fffffff4);
                    /* WARNING: Subroutine does not return */
  var_13(uVar1);
}


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

void MASKED(void)

{
  undefined4 uVar1;
  int unaff_EBP;
  int iVar2;
  
  if (*(int *)(unaff_EBP + -0x5ac0) != 0) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5ac0));
  }
  if (*(int *)(unaff_EBP + -0x5ae0) != 0) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5ae0));
  }
  FUN_0011e1d0();
  uVar1 = *(undefined4 *)(unaff_EBP + -0x5c84);
  FUN_0011e1d0();
  if (*(int *)(unaff_EBP + -0x5ba4) != 0) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5ba4));
  }
  iVar2 = *(int *)(unaff_EBP + -0x5bb0);
  *(undefined4 *)(unaff_EBP + -0x5c84) = *(undefined4 *)(unaff_EBP + -0x5bac);
  for (; *(int *)(unaff_EBP + -0x5c84) != iVar2; iVar2 = iVar2 + 0x20) {
    if (*(int *)(iVar2 + 0x14) != 0) {
      FUN_001807a0(*(int *)(iVar2 + 0x14));
    }
  }
  if (*(int *)(unaff_EBP + -0x5bb0) != 0) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5bb0));
  }
  if (*(int *)(unaff_EBP + -0x5c68) != *(int *)(unaff_EBP + -0x5ca4)) {
    FUN_001807a0(*(int *)(unaff_EBP + -0x5c68));
  }
  FUN_00046f20(*(undefined4 *)(unaff_EBP + -0x5c80));
  FUN_00048b20(*(undefined4 *)(unaff_EBP + -0x5ca0));
  FUN_00046ea0(unaff_EBP + -0x5bf4);
                    /* WARNING: Subroutine does not return */
  FUN_00217770(uVar1);
}

