
/* WARNING: Enum "DT": Some values do not have unique names */
/* (anonymous namespace)::Target_mips<32, false>::got_section(gold::Symbol_table*, gold::Layout*)
   [clone .cold.2896] */

void (anonymous_namespace)::Target_mips<32,false>::got_section
               (Symbol_table *param_1,Layout *param_2)

{
  void *pvVar1;
  int unaff_EBP;
  Output_data_got<32,_false> *unaff_ESI;
  int in_stack_fffffff4;
  undefined4 uVar2;
  void *pvVar3;
  
  pvVar1 = *(void **)((int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.
                            super_Output_section_data.addralign_ + 4);
  if (pvVar1 != (void *)0x0) {
    operator_delete(pvVar1);
  }
  pvVar1 = *(void **)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.
                      super_Output_section_data.super_Output_data.data_size_;
  if (pvVar1 != (void *)0x0) {
    operator_delete(pvVar1);
  }
  gold::Output_data_got<32,_false>::~Output_data_got(unaff_ESI,in_stack_fffffff4);
  uVar2 = 0x90;
  pvVar3 = pvVar1;
  operator_delete(unaff_ESI,0x90);
                    /* WARNING: Subroutine does not return */
  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,pvVar1,pvVar3);
}



void FUN_00041afe(void)

{
  undefined4 uVar1;
  int unaff_EBP;
  int unaff_ESI;
  undefined4 uVar2;
  undefined4 uVar3;
  
  if (*(int *)(unaff_ESI + 0x84) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x84));
  }
  if (*(int *)(unaff_ESI + 0x68) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x68));
  }
  uVar1 = FUN_00071720();
  uVar2 = 0x90;
  uVar3 = uVar1;
  FUN_003ae060();
                    /* WARNING: Subroutine does not return */
  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);
}


MOV EAX,dword ptr [ESI + 0x84]
TEST EAX,EAX
JZ 0x00041b16
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [ESI + 0x68]
TEST EAX,EAX
JZ 0x00041b2b
SUB ESP,0xc
MOV EBX,EDI
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x00071720
ADD ESP,0x10
PUSH EAX
MOV EBX,EDI
PUSH EAX
PUSH 0x90
PUSH ESI
CALL 0x003ae060
POP EDX
PUSH dword ptr [EBP + -0x1c]
CALL 0x004451f0
(translation_unit "void FUN_00041afe(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }\n  if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }\n  uVar1 = FUN_00071720();\n  uVar2 = 0x90;\n  uVar3 = uVar1;\n  FUN_003ae060();\n                    /* WARNING: Subroutine does not return */\n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);\n}\n\n" (function_definition "void FUN_00041afe(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }\n  if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }\n  uVar1 = FUN_00071720();\n  uVar2 = 0x90;\n  uVar3 = uVar1;\n  FUN_003ae060();\n                    /* WARNING: Subroutine does not return */\n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);\n}" primitive_type (function_declarator "FUN_00041afe(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }\n  if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }\n  uVar1 = FUN_00071720();\n  uVar2 = 0x90;\n  uVar3 = uVar1;\n  FUN_003ae060();\n                    /* WARNING: Subroutine does not return */\n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int unaff_ESI;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (if_statement "if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x84) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x84) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x84)" * (cast_expression "(int *)(unaff_ESI + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x84)" ( (binary_expression "unaff_ESI + 0x84" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x84));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x84))" identifier (argument_list "(*(int *)(unaff_ESI + 0x84))" ( (pointer_expression "*(int *)(unaff_ESI + 0x84)" * (cast_expression "(int *)(unaff_ESI + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x84)" ( (binary_expression "unaff_ESI + 0x84" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x68) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x68) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x68)" * (cast_expression "(int *)(unaff_ESI + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x68)" ( (binary_expression "unaff_ESI + 0x68" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x68));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x68))" identifier (argument_list "(*(int *)(unaff_ESI + 0x68))" ( (pointer_expression "*(int *)(unaff_ESI + 0x68)" * (cast_expression "(int *)(unaff_ESI + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x68)" ( (binary_expression "unaff_ESI + 0x68" identifier + number_literal) )))) ))) ;) })) (expression_statement "uVar1 = FUN_00071720();" (assignment_expression "uVar1 = FUN_00071720()" identifier = (call_expression "FUN_00071720()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar2 = 0x90;" (assignment_expression "uVar2 = 0x90" identifier = number_literal) ;) (expression_statement "uVar3 = uVar1;" (assignment_expression "uVar3 = uVar1" identifier = identifier) ;) (expression_statement "FUN_003ae060();" (call_expression "FUN_003ae060()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);" (call_expression "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3)" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3)" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x1c)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x1c)" ( (binary_expression "unaff_EBP + -0x1c" identifier + number_literal) )))) , identifier , identifier , identifier ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* (anonymous namespace)::Target_mips<32, false>::got_section(gold::Symbol_table*, gold::Layout*)\n   [clone .cold.2896] */\n\nvoid (anonymous_namespace)::Target_mips<32,false>::got_section\n               (Symbol_table *param_1,Layout *param_2)\n\n{\n  void *pvVar1;\n  int unaff_EBP;\n  Output_data_got<32,_false> *unaff_ESI;\n  int in_stack_fffffff4;\n  undefined4 uVar2;\n  void *pvVar3;\n  \n  pvVar1 = *(void **)((int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_ + 4);\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  pvVar1 = *(void **)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                      super_Output_section_data.super_Output_data.data_size_;\n  if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }\n  gold::Output_data_got<32,_false>::~Output_data_got(unaff_ESI,in_stack_fffffff4);\n  uVar2 = 0x90;\n  pvVar3 = pvVar1;\n  operator_delete(unaff_ESI,0x90);\n                    /* WARNING: Subroutine does not return */\n  _Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,pvVar1,pvVar3);\n}\n\n" comment comment (declaration "void (anonymous_namespace)::Target_mips<32,false>::got_section\n               (Symbol_table *param_1,Layout *param_2)\n\n{\n  void *pvVar1;" primitive_type (parenthesized_declarator "(anonymous_namespace)" ( identifier )) (ERROR "::Target_mips<32" : : identifier < number_literal) , (ERROR "false>::got_section\n               (Symbol_table *param_1,Layout *param_2)\n\n{\n  void" identifier > : : (function_declarator "got_section\n               (Symbol_table *param_1,Layout *param_2)" identifier (parameter_list "(Symbol_table *param_1,Layout *param_2)" ( (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Layout *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) { primitive_type) (pointer_declarator "*pvVar1" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (expression_statement "Output_data_got<32,_false> *unaff_ESI;" (update_expression "Output_data_got<32,_false> *unaff_ESI" (binary_expression "Output_data_got<32,_false> *unaff_ESI" (binary_expression "Output_data_got<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*unaff_ESI" * identifier)) --) ;) (declaration "int in_stack_fffffff4;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "void *pvVar3;" primitive_type (pointer_declarator "*pvVar3" * identifier) ;) (expression_statement "pvVar1 = *(void **)((int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_ + 4);" (assignment_expression "pvVar1 = *(void **)((int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_ + 4)" identifier = (pointer_expression "*(void **)((int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_ + 4)" * (cast_expression "(void **)((int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_ + 4)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_ + 4)" ( (binary_expression "(int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_ + 4" (cast_expression "(int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_" & (field_expression "unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data.addralign_" (field_expression "unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                            super_Output_section_data" (field_expression "unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build" (field_expression "unaff_ESI[1].super_Output_data_got_base" (subscript_expression "unaff_ESI[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }" if (parenthesized_expression "(pvVar1 != (void *)0x0)" ( (binary_expression "pvVar1 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(pvVar1);\n  }" { (expression_statement "operator_delete(pvVar1);" (call_expression "operator_delete(pvVar1)" identifier (argument_list "(pvVar1)" ( identifier ))) ;) })) (expression_statement "pvVar1 = *(void **)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                      super_Output_section_data.super_Output_data.data_size_;" (assignment_expression "pvVar1 = *(void **)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                      super_Output_section_data.super_Output_data.data_size_" identifier = (pointer_expression "*(void **)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                      super_Output_section_data.super_Output_data.data_size_" * (cast_expression "(void **)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                      super_Output_section_data.super_Output_data.data_size_" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                      super_Output_section_data.super_Output_data.data_size_" & (field_expression "unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                      super_Output_section_data.super_Output_data.data_size_" (field_expression "unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                      super_Output_section_data.super_Output_data" (field_expression "unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.\n                      super_Output_section_data" (field_expression "unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build" (field_expression "unaff_ESI[1].super_Output_data_got_base" (subscript_expression "unaff_ESI[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))))) ;) (if_statement "if (pvVar1 != (void *)0x0) {\n    operator_delete(pvVar1);\n  }" if (parenthesized_expression "(pvVar1 != (void *)0x0)" ( (binary_expression "pvVar1 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(pvVar1);\n  }" { (expression_statement "operator_delete(pvVar1);" (call_expression "operator_delete(pvVar1)" identifier (argument_list "(pvVar1)" ( identifier ))) ;) })) (labeled_statement "gold::Output_data_got<32,_false>::~Output_data_got(unaff_ESI,in_stack_fffffff4);" statement_identifier : (ERROR ":" :) (expression_statement "Output_data_got<32,_false>::~Output_data_got(unaff_ESI,in_stack_fffffff4);" (comma_expression "Output_data_got<32,_false>::~Output_data_got(unaff_ESI,in_stack_fffffff4)" (binary_expression "Output_data_got<32" identifier < number_literal) , (binary_expression "_false>::~Output_data_got(unaff_ESI,in_stack_fffffff4)" identifier > (ERROR "::" : :) (unary_expression "~Output_data_got(unaff_ESI,in_stack_fffffff4)" ~ (call_expression "Output_data_got(unaff_ESI,in_stack_fffffff4)" identifier (argument_list "(unaff_ESI,in_stack_fffffff4)" ( identifier , identifier )))))) ;)) (expression_statement "uVar2 = 0x90;" (assignment_expression "uVar2 = 0x90" identifier = number_literal) ;) (expression_statement "pvVar3 = pvVar1;" (assignment_expression "pvVar3 = pvVar1" identifier = identifier) ;) (expression_statement "operator_delete(unaff_ESI,0x90);" (call_expression "operator_delete(unaff_ESI,0x90)" identifier (argument_list "(unaff_ESI,0x90)" ( identifier , number_literal ))) ;) comment (expression_statement "_Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,pvVar1,pvVar3);" (call_expression "_Unwind_Resume(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,pvVar1,pvVar3)" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,pvVar1,pvVar3)" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x1c)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x1c)" ( (binary_expression "unaff_EBP + -0x1c" identifier + number_literal) )))) , identifier , identifier , identifier ))) ;) (ERROR "}" }))
(translation_unit "void FUN_00041afe(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }\n  if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }\n  uVar1 = FUN_00071720();\n  uVar2 = 0x90;\n  uVar3 = uVar1;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);\n}\n\n" (function_definition "void FUN_00041afe(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }\n  if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }\n  uVar1 = FUN_00071720();\n  uVar2 = 0x90;\n  uVar3 = uVar1;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);\n}" primitive_type (function_declarator "FUN_00041afe(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }\n  if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }\n  uVar1 = FUN_00071720();\n  uVar2 = 0x90;\n  uVar3 = uVar1;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int unaff_ESI;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (if_statement "if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x84) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x84) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x84)" * (cast_expression "(int *)(unaff_ESI + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x84)" ( (binary_expression "unaff_ESI + 0x84" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x84));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x84))" identifier (argument_list "(*(int *)(unaff_ESI + 0x84))" ( (pointer_expression "*(int *)(unaff_ESI + 0x84)" * (cast_expression "(int *)(unaff_ESI + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x84)" ( (binary_expression "unaff_ESI + 0x84" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }" if (parenthesized_expression "(*(int *)(unaff_ESI + 0x68) != 0)" ( (binary_expression "*(int *)(unaff_ESI + 0x68) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x68)" * (cast_expression "(int *)(unaff_ESI + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x68)" ( (binary_expression "unaff_ESI + 0x68" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }" { (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x68));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x68))" identifier (argument_list "(*(int *)(unaff_ESI + 0x68))" ( (pointer_expression "*(int *)(unaff_ESI + 0x68)" * (cast_expression "(int *)(unaff_ESI + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x68)" ( (binary_expression "unaff_ESI + 0x68" identifier + number_literal) )))) ))) ;) })) (expression_statement "uVar1 = FUN_00071720();" (assignment_expression "uVar1 = FUN_00071720()" identifier = (call_expression "FUN_00071720()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar2 = 0x90;" (assignment_expression "uVar2 = 0x90" identifier = number_literal) ;) (expression_statement "uVar3 = uVar1;" (assignment_expression "uVar3 = uVar1" identifier = identifier) ;) (expression_statement "FUN_003ae060();" (call_expression "FUN_003ae060()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);" (call_expression "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3)" identifier (argument_list "(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3)" ( (pointer_expression "*(undefined4 *)(unaff_EBP + -0x1c)" * (cast_expression "(undefined4 *)(unaff_EBP + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + -0x1c)" ( (binary_expression "unaff_EBP + -0x1c" identifier + number_literal) )))) , identifier , identifier , identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT ))) ;) })))
(function_definition "void FUN_00041afe(void)\n\n{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }\n  if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }\n  uVar1 = FUN_00071720();\n  uVar2 = 0x90;\n  uVar3 = uVar1;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);\n}" (primitive_type "void") (function_declarator "FUN_00041afe(void)" (identifier "FUN_00041afe") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EBP;\n  int unaff_ESI;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }\n  if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }\n  uVar1 = FUN_00071720();\n  uVar2 = 0x90;\n  uVar3 = uVar1;\n  FUN_003ae060();\n                    \n  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "int unaff_ESI;" (primitive_type "int") (identifier "unaff_ESI") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (if_statement "if (*(int *)(unaff_ESI + 0x84) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_ESI + 0x84) != 0)" (( "(") (binary_expression "*(int *)(unaff_ESI + 0x84) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x84)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x84)" (( "(") (binary_expression "unaff_ESI + 0x84" (identifier "unaff_ESI") (+ "+") (number_literal "0x84")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x84));\n  }" ({ "{") (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x84));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x84))" (identifier "FUN_003ae080") (argument_list "(*(int *)(unaff_ESI + 0x84))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 0x84)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x84)" (( "(") (binary_expression "unaff_ESI + 0x84" (identifier "unaff_ESI") (+ "+") (number_literal "0x84")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_ESI + 0x68) != 0) {\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_ESI + 0x68) != 0)" (( "(") (binary_expression "*(int *)(unaff_ESI + 0x68) != 0" (pointer_expression "*(int *)(unaff_ESI + 0x68)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x68)" (( "(") (binary_expression "unaff_ESI + 0x68" (identifier "unaff_ESI") (+ "+") (number_literal "0x68")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_003ae080(*(int *)(unaff_ESI + 0x68));\n  }" ({ "{") (expression_statement "FUN_003ae080(*(int *)(unaff_ESI + 0x68));" (call_expression "FUN_003ae080(*(int *)(unaff_ESI + 0x68))" (identifier "FUN_003ae080") (argument_list "(*(int *)(unaff_ESI + 0x68))" (( "(") (pointer_expression "*(int *)(unaff_ESI + 0x68)" (* "*") (cast_expression "(int *)(unaff_ESI + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x68)" (( "(") (binary_expression "unaff_ESI + 0x68" (identifier "unaff_ESI") (+ "+") (number_literal "0x68")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar1 = FUN_00071720();" (assignment_expression "uVar1 = FUN_00071720()" (identifier "uVar1") (= "=") (call_expression "FUN_00071720()" (identifier "FUN_00071720") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar2 = 0x90;" (assignment_expression "uVar2 = 0x90" (identifier "uVar2") (= "=") (number_literal "0x90")) (; ";")) (expression_statement "uVar3 = uVar1;" (assignment_expression "uVar3 = uVar1" (identifier "uVar3") (= "=") (identifier "uVar1")) (; ";")) (expression_statement "FUN_003ae060();" (call_expression "FUN_003ae060()" (identifier "FUN_003ae060") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);" (call_expression "FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3)" (identifier "FUN_004451f0") (argument_list "(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3)" (( "(") (pointer_expression "*(undefined4 *)(unaff_EBP + -0x1c)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + -0x1c)" (( "(") (binary_expression "unaff_EBP + -0x1c" (identifier "unaff_EBP") (+ "+") (number_literal "-0x1c")) () ")")))) (, ",") (identifier "uVar2") (, ",") (identifier "uVar1") (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* (anonymous namespace)::Target_mips<32, false>::got_section(gold::Symbol_table*, gold::Layout*)
   [clone .cold.2896] */

void (function_1)::Target_mips<32,false>::got_section
               (Symbol_table *param_1,Layout *param_2)

{
  void *var_2;
  int var_6;
  var_1<32,var_4> *unaff_ESI;
  int in_stack_fffffff4;
  type_1 uVar2;
  void *pvVar3;
  
  var_2 = *(void **)((int)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.
                            super_Output_section_data.addralign_ + 4);
  if (var_2 != (void *)0x0) {
    var_3(var_2);
  }
  var_2 = *(void **)&unaff_ESI[1].super_Output_data_got_base.super_Output_section_data_build.
                      super_Output_section_data.super_Output_data.data_size_;
  if (var_2 != (void *)0x0) {
    var_3(var_2);
  }
  gold::var_1<32,var_4>::~var_1(unaff_ESI,in_stack_fffffff4);
  uVar2 = 0x90;
  pvVar3 = var_2;
  var_3(unaff_ESI,0x90);
                    /* WARNING: Subroutine does not return */
  var_5(*(type_1 *)(var_6 + -0x1c),uVar2,var_2,pvVar3);
}


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

void MASKED(void)

{
  undefined4 uVar1;
  int unaff_EBP;
  int unaff_ESI;
  undefined4 uVar2;
  undefined4 uVar3;
  
  if (*(int *)(unaff_ESI + 0x84) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x84));
  }
  if (*(int *)(unaff_ESI + 0x68) != 0) {
    FUN_003ae080(*(int *)(unaff_ESI + 0x68));
  }
  uVar1 = FUN_00071720();
  uVar2 = 0x90;
  uVar3 = uVar1;
  FUN_003ae060();
                    /* WARNING: Subroutine does not return */
  FUN_004451f0(*(undefined4 *)(unaff_EBP + -0x1c),uVar2,uVar1,uVar3);
}

