
/* DWARF original prototype: void add_mapping(Object_merge_map * this, Output_section_data *
   output_data, uint shndx, section_offset_type input_offset, section_size_type length,
   section_offset_type output_offset) */

void __thiscall
gold::Object_merge_map::add_mapping
          (Object_merge_map *this,Output_section_data *output_data,uint shndx,
          section_offset_type input_offset,section_size_type length,
          section_offset_type output_offset)

{
  Input_merge_map *this_00;
  
  this_00 = get_or_make_input_merge_map(this,output_data,shndx);
  Input_merge_map::add_mapping(this_00,input_offset,length,output_offset);
  return;
}



void FUN_002ba3c0(void)

{
  undefined8 uVar1;
  undefined8 in_RCX;
  undefined8 in_R8;
  undefined8 in_R9;
  
  uVar1 = FUN_002ba2d0();
  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);
  return;
}


PUSH R12
MOV R12,R9
PUSH RBP
MOV RBP,R8
PUSH RBX
MOV RBX,RCX
CALL 0x002ba2d0
MOV RCX,R12
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RAX
POP RBX
POP RBP
POP R12
JMP 0x002ba1e0
(translation_unit "void FUN_002ba3c0(void)\n\n{\n  undefined8 uVar1;\n  undefined8 in_RCX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  \n  uVar1 = FUN_002ba2d0();\n  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);\n  return;\n}\n\n" (function_definition "void FUN_002ba3c0(void)\n\n{\n  undefined8 uVar1;\n  undefined8 in_RCX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  \n  uVar1 = FUN_002ba2d0();\n  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);\n  return;\n}" primitive_type (function_declarator "FUN_002ba3c0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined8 in_RCX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  \n  uVar1 = FUN_002ba2d0();\n  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined8 in_RCX;" type_identifier identifier ;) (declaration "undefined8 in_R8;" type_identifier identifier ;) (declaration "undefined8 in_R9;" type_identifier identifier ;) (expression_statement "uVar1 = FUN_002ba2d0();" (assignment_expression "uVar1 = FUN_002ba2d0()" identifier = (call_expression "FUN_002ba2d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);" (call_expression "FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9)" identifier (argument_list "(uVar1,in_RCX,in_R8,in_R9)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void add_mapping(Object_merge_map * this, Output_section_data *\n   output_data, uint shndx, section_offset_type input_offset, section_size_type length,\n   section_offset_type output_offset) */\n\nvoid __thiscall\ngold::Object_merge_map::add_mapping\n          (Object_merge_map *this,Output_section_data *output_data,uint shndx,\n          section_offset_type input_offset,section_size_type length,\n          section_offset_type output_offset)\n\n{\n  Input_merge_map *this_00;\n  \n  this_00 = get_or_make_input_merge_map(this,output_data,shndx);\n  Input_merge_map::add_mapping(this_00,input_offset,length,output_offset);\n  return;\n}\n\n" comment (function_definition "void __thiscall\ngold::Object_merge_map::add_mapping\n          (Object_merge_map *this,Output_section_data *output_data,uint shndx,\n          section_offset_type input_offset,section_size_type length,\n          section_offset_type output_offset)\n\n{\n  Input_merge_map *this_00;\n  \n  this_00 = get_or_make_input_merge_map(this,output_data,shndx);\n  Input_merge_map::add_mapping(this_00,input_offset,length,output_offset);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Object_merge_map::" identifier : : identifier : :) (function_declarator "add_mapping\n          (Object_merge_map *this,Output_section_data *output_data,uint shndx,\n          section_offset_type input_offset,section_size_type length,\n          section_offset_type output_offset)" identifier (parameter_list "(Object_merge_map *this,Output_section_data *output_data,uint shndx,\n          section_offset_type input_offset,section_size_type length,\n          section_offset_type output_offset)" ( (parameter_declaration "Object_merge_map *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_section_data *output_data" type_identifier (pointer_declarator "*output_data" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "section_offset_type input_offset" type_identifier identifier) , (parameter_declaration "section_size_type length" type_identifier identifier) , (parameter_declaration "section_offset_type output_offset" type_identifier identifier) ))) (compound_statement "{\n  Input_merge_map *this_00;\n  \n  this_00 = get_or_make_input_merge_map(this,output_data,shndx);\n  Input_merge_map::add_mapping(this_00,input_offset,length,output_offset);\n  return;\n}" { (declaration "Input_merge_map *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (expression_statement "this_00 = get_or_make_input_merge_map(this,output_data,shndx);" (assignment_expression "this_00 = get_or_make_input_merge_map(this,output_data,shndx)" identifier = (call_expression "get_or_make_input_merge_map(this,output_data,shndx)" identifier (argument_list "(this,output_data,shndx)" ( identifier , identifier , identifier )))) ;) (labeled_statement "Input_merge_map::add_mapping(this_00,input_offset,length,output_offset);" statement_identifier : (ERROR ":" :) (expression_statement "add_mapping(this_00,input_offset,length,output_offset);" (call_expression "add_mapping(this_00,input_offset,length,output_offset)" identifier (argument_list "(this_00,input_offset,length,output_offset)" ( identifier , identifier , identifier , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_002ba3c0(void)\n\n{\n  undefined8 uVar1;\n  undefined8 in_RCX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  \n  uVar1 = FUN_002ba2d0();\n  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);\n  return;\n}\n\n" (function_definition "void FUN_002ba3c0(void)\n\n{\n  undefined8 uVar1;\n  undefined8 in_RCX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  \n  uVar1 = FUN_002ba2d0();\n  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);\n  return;\n}" primitive_type (function_declarator "FUN_002ba3c0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined8 in_RCX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  \n  uVar1 = FUN_002ba2d0();\n  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined8 in_RCX;" type_identifier identifier ;) (declaration "undefined8 in_R8;" type_identifier identifier ;) (declaration "undefined8 in_R9;" type_identifier identifier ;) (expression_statement "uVar1 = FUN_002ba2d0();" (assignment_expression "uVar1 = FUN_002ba2d0()" identifier = (call_expression "FUN_002ba2d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);" (call_expression "FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9)" identifier (argument_list "(uVar1,in_RCX,in_R8,in_R9)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(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 ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_002ba3c0(void)\n\n{\n  undefined8 uVar1;\n  undefined8 in_RCX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  \n  uVar1 = FUN_002ba2d0();\n  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_002ba3c0(void)" (identifier "FUN_002ba3c0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  undefined8 in_RCX;\n  undefined8 in_R8;\n  undefined8 in_R9;\n  \n  uVar1 = FUN_002ba2d0();\n  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "undefined8 in_RCX;" (type_identifier "undefined8") (identifier "in_RCX") (; ";")) (declaration "undefined8 in_R8;" (type_identifier "undefined8") (identifier "in_R8") (; ";")) (declaration "undefined8 in_R9;" (type_identifier "undefined8") (identifier "in_R9") (; ";")) (expression_statement "uVar1 = FUN_002ba2d0();" (assignment_expression "uVar1 = FUN_002ba2d0()" (identifier "uVar1") (= "=") (call_expression "FUN_002ba2d0()" (identifier "FUN_002ba2d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);" (call_expression "FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9)" (identifier "FUN_002ba1e0") (argument_list "(uVar1,in_RCX,in_R8,in_R9)" (( "(") (identifier "uVar1") (, ",") (identifier "in_RCX") (, ",") (identifier "in_R8") (, ",") (identifier "in_R9") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void add_mapping(Object_merge_map * this, Output_section_data *
   output_data, uint shndx, section_offset_type input_offset, section_size_type length,
   section_offset_type output_offset) */

void __thiscall
gold::type_1::function_1
          (type_1 *this,type_2 *output_data,type_3 shndx,
          type_4 input_offset,type_5 length,
          type_4 output_offset)

{
  type_6 *this_00;
  
  this_00 = var_1(this,output_data,shndx);
  Input_merge_map::function_1(this_00,input_offset,length,output_offset);
  return;
}


(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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (return_statement))))

void MASKED(void)

{
  undefined8 uVar1;
  undefined8 in_RCX;
  undefined8 in_R8;
  undefined8 in_R9;
  
  uVar1 = FUN_002ba2d0();
  FUN_002ba1e0(uVar1,in_RCX,in_R8,in_R9);
  return;
}

