
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Output_section * do_make_output_section(Target_aarch64<32,_true> *
   this, char * name, Elf_Word type, Elf_Xword flags) */

Output_section * __thiscall
anon_unknown.dwarf_12235f4::Target_aarch64<32,_true>::do_make_output_section
          (Target_aarch64<32,_true> *this,char *name,Elf_Word type,Elf_Xword flags)

{
  Output_section *this_00;
  
  this_00 = (Output_section *)operator_new(0x148);
                    /* try { // try from 002eccec to 002eccf0 has its CatchHandler @ 002ecd09 */
  gold::Output_section::Output_section(this_00,name,type,flags);
  (this_00->super_Output_data)._vptr_Output_data =
       (_func_int_varargs **)&PTR__AArch64_output_section_0066ef28;
  return this_00;
}



undefined8 *
FUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)

{
  undefined8 *puVar1;
  
  puVar1 = (undefined8 *)FUN_0049cb70(0x148);
                    /* try { // try from 002eccec to 002eccf0 has its CatchHandler @ 002ecd09 */
  FUN_003c9d20(puVar1,param_2,param_3,param_4);
  *puVar1 = &PTR_FUN_0066ef28;
  return puVar1;
}


PUSH R13
MOV EDI,0x148
MOV R13,RCX
PUSH R12
MOV R12D,EDX
PUSH RBP
MOV RBP,RSI
PUSH RBX
SUB RSP,0x8
CALL 0x0049cb70
MOV RCX,R13
MOV EDX,R12D
MOV RSI,RBP
MOV RDI,RAX
MOV RBX,RAX
CALL 0x003c9d20
LEA RAX,[0x66ef28]
MOV qword ptr [RBX],RAX
ADD RSP,0x8
MOV RAX,RBX
POP RBX
POP RBP
POP R12
POP R13
RET
(translation_unit "undefined8 *\nFUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  \n  puVar1 = (undefined8 *)FUN_0049cb70(0x148);\n                    /* try { // try from 002eccec to 002eccf0 has its CatchHandler @ 002ecd09 */\n  FUN_003c9d20(puVar1,param_2,param_3,param_4);\n  *puVar1 = &PTR_FUN_0066ef28;\n  return puVar1;\n}\n\n" (function_definition "undefined8 *\nFUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  \n  puVar1 = (undefined8 *)FUN_0049cb70(0x148);\n                    /* try { // try from 002eccec to 002eccf0 has its CatchHandler @ 002ecd09 */\n  FUN_003c9d20(puVar1,param_2,param_3,param_4);\n  *puVar1 = &PTR_FUN_0066ef28;\n  return puVar1;\n}" type_identifier (pointer_declarator "*\nFUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)" * (function_declarator "FUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) )))) (compound_statement "{\n  undefined8 *puVar1;\n  \n  puVar1 = (undefined8 *)FUN_0049cb70(0x148);\n                    /* try { // try from 002eccec to 002eccf0 has its CatchHandler @ 002ecd09 */\n  FUN_003c9d20(puVar1,param_2,param_3,param_4);\n  *puVar1 = &PTR_FUN_0066ef28;\n  return puVar1;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "puVar1 = (undefined8 *)FUN_0049cb70(0x148);" (assignment_expression "puVar1 = (undefined8 *)FUN_0049cb70(0x148)" identifier = (cast_expression "(undefined8 *)FUN_0049cb70(0x148)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) comment (expression_statement "FUN_003c9d20(puVar1,param_2,param_3,param_4);" (call_expression "FUN_003c9d20(puVar1,param_2,param_3,param_4)" identifier (argument_list "(puVar1,param_2,param_3,param_4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "*puVar1 = &PTR_FUN_0066ef28;" (assignment_expression "*puVar1 = &PTR_FUN_0066ef28" (pointer_expression "*puVar1" * identifier) = (pointer_expression "&PTR_FUN_0066ef28" & identifier)) ;) (return_statement "return puVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: Output_section * do_make_output_section(Target_aarch64<32,_true> *\n   this, char * name, Elf_Word type, Elf_Xword flags) */\n\nOutput_section * __thiscall\nanon_unknown.dwarf_12235f4::Target_aarch64<32,_true>::do_make_output_section\n          (Target_aarch64<32,_true> *this,char *name,Elf_Word type,Elf_Xword flags)\n\n{\n  Output_section *this_00;\n  \n  this_00 = (Output_section *)operator_new(0x148);\n                    /* try { // try from 002eccec to 002eccf0 has its CatchHandler @ 002ecd09 */\n  gold::Output_section::Output_section(this_00,name,type,flags);\n  (this_00->super_Output_data)._vptr_Output_data =\n       (_func_int_varargs **)&PTR__AArch64_output_section_0066ef28;\n  return this_00;\n}\n\n" comment comment (expression_statement "Output_section * __thiscall\nanon_unknown.dwarf_12235f4::Target_aarch64<32,_true>::do_make_output_section\n          (Target_aarch64<32,_true> *this,char *name,Elf_Word type,Elf_Xword flags)\n\n{\n  Output_section *this_00;" (update_expression "Output_section * __thiscall\nanon_unknown.dwarf_12235f4::Target_aarch64<32,_true>::do_make_output_section\n          (Target_aarch64<32,_true> *this,char *name,Elf_Word type,Elf_Xword flags)\n\n{\n  Output_section *this_00" (binary_expression "Output_section * __thiscall\nanon_unknown.dwarf_12235f4::Target_aarch64<32,_true>::do_make_output_section\n          (Target_aarch64<32,_true> *this,char *name,Elf_Word type,Elf_Xword flags)\n\n{\n  Output_section *this_00" (binary_expression "Output_section * __thiscall\nanon_unknown.dwarf_12235f4::Target_aarch64<32" (binary_expression "Output_section * __thiscall\nanon_unknown.dwarf_12235f4" identifier * (ERROR "__thiscall" identifier) (field_expression "anon_unknown.dwarf_12235f4" identifier . field_identifier)) (ERROR "::Target_aarch64" : : identifier) < number_literal) (ERROR ",_true" , identifier) > (ERROR "::do_make_output_section\n          (Target_aarch64<32,_true> *this,char *name,Elf_Word type,Elf_Xword flags)\n\n{" : : (call_expression "do_make_output_section\n          (Target_aarch64<32,_true> *this,char *name,Elf_Word type,Elf_Xword flags)" identifier (argument_list "(Target_aarch64<32,_true> *this,char *name,Elf_Word type,Elf_Xword flags)" ( (binary_expression "Target_aarch64<32" identifier < number_literal) , (binary_expression "_true> *this" identifier > (pointer_expression "*this" * identifier)) , (binary_expression "char *name" identifier * identifier) , identifier (ERROR "type" identifier) , identifier (ERROR "flags" identifier) ))) {) (binary_expression "Output_section *this_00" identifier * identifier)) --) ;) (expression_statement "this_00 = (Output_section *)operator_new(0x148);" (assignment_expression "this_00 = (Output_section *)operator_new(0x148)" identifier = (cast_expression "(Output_section *)operator_new(0x148)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) comment (labeled_statement "gold::Output_section::Output_section(this_00,name,type,flags);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_section::Output_section(this_00,name,type,flags);" statement_identifier : (ERROR ":" :) (expression_statement "Output_section(this_00,name,type,flags);" (call_expression "Output_section(this_00,name,type,flags)" identifier (argument_list "(this_00,name,type,flags)" ( identifier , identifier , identifier , identifier ))) ;))) (expression_statement "(this_00->super_Output_data)._vptr_Output_data =\n       (_func_int_varargs **)&PTR__AArch64_output_section_0066ef28;" (assignment_expression "(this_00->super_Output_data)._vptr_Output_data =\n       (_func_int_varargs **)&PTR__AArch64_output_section_0066ef28" (field_expression "(this_00->super_Output_data)._vptr_Output_data" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__AArch64_output_section_0066ef28" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__AArch64_output_section_0066ef28" & identifier))) ;) (return_statement "return this_00;" return identifier ;) (ERROR "}" }))
(translation_unit "undefined8 *\nFUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  \n  puVar1 = (undefined8 *)FUN_0049cb70(0x148);\n                    \n  FUN_003c9d20(puVar1,param_2,param_3,param_4);\n  *puVar1 = &PTR_FUN_0066ef28;\n  return puVar1;\n}\n\n" (function_definition "undefined8 *\nFUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  \n  puVar1 = (undefined8 *)FUN_0049cb70(0x148);\n                    \n  FUN_003c9d20(puVar1,param_2,param_3,param_4);\n  *puVar1 = &PTR_FUN_0066ef28;\n  return puVar1;\n}" type_identifier (pointer_declarator "*\nFUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)" * (function_declarator "FUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) )))) (compound_statement "{\n  undefined8 *puVar1;\n  \n  puVar1 = (undefined8 *)FUN_0049cb70(0x148);\n                    \n  FUN_003c9d20(puVar1,param_2,param_3,param_4);\n  *puVar1 = &PTR_FUN_0066ef28;\n  return puVar1;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "puVar1 = (undefined8 *)FUN_0049cb70(0x148);" (assignment_expression "puVar1 = (undefined8 *)FUN_0049cb70(0x148)" identifier = (cast_expression "(undefined8 *)FUN_0049cb70(0x148)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "FUN_003c9d20(puVar1,param_2,param_3,param_4);" (call_expression "FUN_003c9d20(puVar1,param_2,param_3,param_4)" identifier (argument_list "(puVar1,param_2,param_3,param_4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "*puVar1 = &PTR_FUN_0066ef28;" (assignment_expression "*puVar1 = &PTR_FUN_0066ef28" (pointer_expression "*puVar1" * identifier) = (pointer_expression "&PTR_FUN_0066ef28" & identifier)) ;) (return_statement "return puVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (return_statement return IDENT ;) })))
(function_definition "undefined8 *\nFUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)\n\n{\n  undefined8 *puVar1;\n  \n  puVar1 = (undefined8 *)FUN_0049cb70(0x148);\n                    \n  FUN_003c9d20(puVar1,param_2,param_3,param_4);\n  *puVar1 = &PTR_FUN_0066ef28;\n  return puVar1;\n}" (type_identifier "undefined8") (pointer_declarator "*\nFUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)" (* "*") (function_declarator "FUN_002eccc0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)" (identifier "FUN_002eccc0") (parameter_list "(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined8 param_4" (type_identifier "undefined8") (identifier "param_4")) () ")")))) (compound_statement "{\n  undefined8 *puVar1;\n  \n  puVar1 = (undefined8 *)FUN_0049cb70(0x148);\n                    \n  FUN_003c9d20(puVar1,param_2,param_3,param_4);\n  *puVar1 = &PTR_FUN_0066ef28;\n  return puVar1;\n}" ({ "{") (declaration "undefined8 *puVar1;" (type_identifier "undefined8") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (expression_statement "puVar1 = (undefined8 *)FUN_0049cb70(0x148);" (assignment_expression "puVar1 = (undefined8 *)FUN_0049cb70(0x148)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)FUN_0049cb70(0x148)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0049cb70(0x148)" (identifier "FUN_0049cb70") (argument_list "(0x148)" (( "(") (number_literal "0x148") () ")"))))) (; ";")) (expression_statement "FUN_003c9d20(puVar1,param_2,param_3,param_4);" (call_expression "FUN_003c9d20(puVar1,param_2,param_3,param_4)" (identifier "FUN_003c9d20") (argument_list "(puVar1,param_2,param_3,param_4)" (( "(") (identifier "puVar1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "*puVar1 = &PTR_FUN_0066ef28;" (assignment_expression "*puVar1 = &PTR_FUN_0066ef28" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (pointer_expression "&PTR_FUN_0066ef28" (& "&") (identifier "PTR_FUN_0066ef28"))) (; ";")) (return_statement "return puVar1;" (return "return") (identifier "puVar1") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Output_section * do_make_output_section(Target_aarch64<32,_true> *
   this, char * name, Elf_Word type, Elf_Xword flags) */

var_1 * __thiscall
anon_unknown.dwarf_12235f4::Target_aarch64<32,_true>::do_make_output_section
          (Target_aarch64<32,_true> *this,char *name,Elf_Word type,Elf_Xword flags)

{
  var_1 *var_2;
  
  var_2 = (var_1 *)var_3(0x148);
                    /* try { // try from 002eccec to 002eccf0 has its CatchHandler @ 002ecd09 */
  gold::Output_section::var_1(var_2,name,type,flags);
  (var_2->super_Output_data)._vptr_Output_data =
       (type_1 **)&PTR__AArch64_output_section_0066ef28;
  return var_2;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (return_statement (identifier)))))

undefined8 *
MASKED(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)

{
  undefined8 *puVar1;
  
  puVar1 = (undefined8 *)FUN_0049cb70(0x148);
                    /* try { // try from 002eccec to 002eccf0 has its CatchHandler @ 002ecd09 */
  FUN_003c9d20(puVar1,param_2,param_3,param_4);
  *puVar1 = &PTR_FUN_0066ef28;
  return puVar1;
}

