
/* DWARF original prototype: void add_copy_reloc(Sized_incremental_binary<32,_true> * this, Symbol *
   gsym, Output_section * os, off_t offset) */

void __thiscall
gold::Sized_incremental_binary<32,_true>::add_copy_reloc
          (Sized_incremental_binary<32,_true> *this,Symbol *gsym,Output_section *os,off_t offset)

{
  Copy_reloc local_28;
  
  local_28.symbol = gsym;
  local_28.output_section = os;
  local_28.offset = offset;
  std::
  vector<gold::Sized_incremental_binary<32,_true>::Copy_reloc,_std::allocator<gold::Sized_incremental_binary<32,_true>::Copy_reloc>_>
  ::emplace_back<gold::Sized_incremental_binary<32,_true>::Copy_reloc>
            (&this->copy_relocs_,&local_28);
  return;
}



void FUN_0019a9b0(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)

{
  undefined8 local_28;
  undefined8 local_20;
  undefined8 local_18;
  
  local_28 = param_2;
  local_20 = param_3;
  local_18 = param_4;
  FUN_0019a970(param_1 + 0xc0,&local_28);
  return;
}


SUB RSP,0x28
ADD RDI,0xc0
MOV qword ptr [RSP],RSI
MOV RSI,RSP
MOV qword ptr [RSP + 0x8],RDX
MOV qword ptr [RSP + 0x10],RCX
CALL 0x0019a970
ADD RSP,0x28
RET
(translation_unit "void FUN_0019a9b0(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 local_28;\n  undefined8 local_20;\n  undefined8 local_18;\n  \n  local_28 = param_2;\n  local_20 = param_3;\n  local_18 = param_4;\n  FUN_0019a970(param_1 + 0xc0,&local_28);\n  return;\n}\n\n" (function_definition "void FUN_0019a9b0(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 local_28;\n  undefined8 local_20;\n  undefined8 local_18;\n  \n  local_28 = param_2;\n  local_20 = param_3;\n  local_18 = param_4;\n  FUN_0019a970(param_1 + 0xc0,&local_28);\n  return;\n}" primitive_type (function_declarator "FUN_0019a9b0(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined8 local_28;\n  undefined8 local_20;\n  undefined8 local_18;\n  \n  local_28 = param_2;\n  local_20 = param_3;\n  local_18 = param_4;\n  FUN_0019a970(param_1 + 0xc0,&local_28);\n  return;\n}" { (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined8 local_20;" type_identifier identifier ;) (declaration "undefined8 local_18;" type_identifier identifier ;) (expression_statement "local_28 = param_2;" (assignment_expression "local_28 = param_2" identifier = identifier) ;) (expression_statement "local_20 = param_3;" (assignment_expression "local_20 = param_3" identifier = identifier) ;) (expression_statement "local_18 = param_4;" (assignment_expression "local_18 = param_4" identifier = identifier) ;) (expression_statement "FUN_0019a970(param_1 + 0xc0,&local_28);" (call_expression "FUN_0019a970(param_1 + 0xc0,&local_28)" identifier (argument_list "(param_1 + 0xc0,&local_28)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) , (pointer_expression "&local_28" & identifier) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void add_copy_reloc(Sized_incremental_binary<32,_true> * this, Symbol *\n   gsym, Output_section * os, off_t offset) */\n\nvoid __thiscall\ngold::Sized_incremental_binary<32,_true>::add_copy_reloc\n          (Sized_incremental_binary<32,_true> *this,Symbol *gsym,Output_section *os,off_t offset)\n\n{\n  Copy_reloc local_28;\n  \n  local_28.symbol = gsym;\n  local_28.output_section = os;\n  local_28.offset = offset;\n  std::\n  vector<gold::Sized_incremental_binary<32,_true>::Copy_reloc,_std::allocator<gold::Sized_incremental_binary<32,_true>::Copy_reloc>_>\n  ::emplace_back<gold::Sized_incremental_binary<32,_true>::Copy_reloc>\n            (&this->copy_relocs_,&local_28);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Sized_incremental_binary<32,_true>::add_copy_reloc\n          (Sized_incremental_binary<32,_true> *this,Symbol *gsym,Output_section *os,off_t offset)\n\n{\n  Copy_reloc local_28;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_true>::add_copy_reloc\n          (Sized_incremental_binary<32,_true> *this,Symbol *gsym,Output_section *os,off_t offset)\n\n{\n  Copy_reloc" identifier > : : (function_declarator "add_copy_reloc\n          (Sized_incremental_binary<32,_true> *this,Symbol *gsym,Output_section *os,off_t offset)" identifier (parameter_list "(Sized_incremental_binary<32,_true> *this,Symbol *gsym,Output_section *os,off_t offset)" ( (parameter_declaration "Sized_incremental_binary" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol *gsym" type_identifier (pointer_declarator "*gsym" * identifier)) , (parameter_declaration "Output_section *os" type_identifier (pointer_declarator "*os" * identifier)) , (parameter_declaration "off_t offset" type_identifier identifier) ))) { identifier) identifier ;) (expression_statement "local_28.symbol = gsym;" (assignment_expression "local_28.symbol = gsym" (field_expression "local_28.symbol" identifier . field_identifier) = identifier) ;) (expression_statement "local_28.output_section = os;" (assignment_expression "local_28.output_section = os" (field_expression "local_28.output_section" identifier . field_identifier) = identifier) ;) (expression_statement "local_28.offset = offset;" (assignment_expression "local_28.offset = offset" (field_expression "local_28.offset" identifier . field_identifier) = identifier) ;) (labeled_statement "std::\n  vector<gold::Sized_incremental_binary<32,_true>::Copy_reloc,_std::allocator<gold::Sized_incremental_binary<32,_true>::Copy_reloc>_>\n  ::emplace_back<gold::Sized_incremental_binary<32,_true>::Copy_reloc>\n            (&this->copy_relocs_,&local_28);" statement_identifier (ERROR "::\n  vector<gold::Sized_incremental_binary<32,_true>::Copy_reloc,_std::allocator<gold::Sized_incremental_binary<32,_true>::Copy_reloc>_>\n  ::emplace_back<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_incremental_binary<32,_true>::Copy_reloc,_std" (binary_expression "Sized_incremental_binary<32" identifier < number_literal) , (comma_expression "_true>::Copy_reloc,_std" (binary_expression "_true>::Copy_reloc" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Sized_incremental_binary<32,_true>::Copy_reloc>_>\n  ::emplace_back<gold" (binary_expression "Sized_incremental_binary<32" identifier < number_literal) , (binary_expression "_true>::Copy_reloc>_>\n  ::emplace_back<gold" (binary_expression "_true>::Copy_reloc>_>\n  ::emplace_back" (binary_expression "_true>::Copy_reloc>_" (binary_expression "_true>::Copy_reloc" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "Sized_incremental_binary<32,_true>::Copy_reloc>\n            (&this->copy_relocs_,&local_28);" (comma_expression "Sized_incremental_binary<32,_true>::Copy_reloc>\n            (&this->copy_relocs_,&local_28)" (binary_expression "Sized_incremental_binary<32" identifier < number_literal) , (binary_expression "_true>::Copy_reloc>\n            (&this->copy_relocs_,&local_28)" (binary_expression "_true>::Copy_reloc" identifier > (ERROR "::" : :) identifier) > (parenthesized_expression "(&this->copy_relocs_,&local_28)" ( (comma_expression "&this->copy_relocs_,&local_28" (pointer_expression "&this->copy_relocs_" & (field_expression "this->copy_relocs_" identifier -> field_identifier)) , (pointer_expression "&local_28" & identifier)) )))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_0019a9b0(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 local_28;\n  undefined8 local_20;\n  undefined8 local_18;\n  \n  local_28 = param_2;\n  local_20 = param_3;\n  local_18 = param_4;\n  FUN_0019a970(param_1 + 0xc0,&local_28);\n  return;\n}\n\n" (function_definition "void FUN_0019a9b0(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 local_28;\n  undefined8 local_20;\n  undefined8 local_18;\n  \n  local_28 = param_2;\n  local_20 = param_3;\n  local_18 = param_4;\n  FUN_0019a970(param_1 + 0xc0,&local_28);\n  return;\n}" primitive_type (function_declarator "FUN_0019a9b0(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined8 local_28;\n  undefined8 local_20;\n  undefined8 local_18;\n  \n  local_28 = param_2;\n  local_20 = param_3;\n  local_18 = param_4;\n  FUN_0019a970(param_1 + 0xc0,&local_28);\n  return;\n}" { (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "undefined8 local_20;" type_identifier identifier ;) (declaration "undefined8 local_18;" type_identifier identifier ;) (expression_statement "local_28 = param_2;" (assignment_expression "local_28 = param_2" identifier = identifier) ;) (expression_statement "local_20 = param_3;" (assignment_expression "local_20 = param_3" identifier = identifier) ;) (expression_statement "local_18 = param_4;" (assignment_expression "local_18 = param_4" identifier = identifier) ;) (expression_statement "FUN_0019a970(param_1 + 0xc0,&local_28);" (call_expression "FUN_0019a970(param_1 + 0xc0,&local_28)" identifier (argument_list "(param_1 + 0xc0,&local_28)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) , (pointer_expression "&local_28" & identifier) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0019a9b0(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)\n\n{\n  undefined8 local_28;\n  undefined8 local_20;\n  undefined8 local_18;\n  \n  local_28 = param_2;\n  local_20 = param_3;\n  local_18 = param_4;\n  FUN_0019a970(param_1 + 0xc0,&local_28);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0019a9b0(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)" (identifier "FUN_0019a9b0") (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "undefined8 param_4" (type_identifier "undefined8") (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined8 local_28;\n  undefined8 local_20;\n  undefined8 local_18;\n  \n  local_28 = param_2;\n  local_20 = param_3;\n  local_18 = param_4;\n  FUN_0019a970(param_1 + 0xc0,&local_28);\n  return;\n}" ({ "{") (declaration "undefined8 local_28;" (type_identifier "undefined8") (identifier "local_28") (; ";")) (declaration "undefined8 local_20;" (type_identifier "undefined8") (identifier "local_20") (; ";")) (declaration "undefined8 local_18;" (type_identifier "undefined8") (identifier "local_18") (; ";")) (expression_statement "local_28 = param_2;" (assignment_expression "local_28 = param_2" (identifier "local_28") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_20 = param_3;" (assignment_expression "local_20 = param_3" (identifier "local_20") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_18 = param_4;" (assignment_expression "local_18 = param_4" (identifier "local_18") (= "=") (identifier "param_4")) (; ";")) (expression_statement "FUN_0019a970(param_1 + 0xc0,&local_28);" (call_expression "FUN_0019a970(param_1 + 0xc0,&local_28)" (identifier "FUN_0019a970") (argument_list "(param_1 + 0xc0,&local_28)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void add_copy_reloc(Sized_incremental_binary<32,_true> * this, Symbol *
   gsym, Output_section * os, off_t offset) */

void __thiscall
gold::var_1<32,var_2>::add_copy_reloc
          (var_1<32,var_2> *this,Symbol *gsym,Output_section *os,off_t offset)

{
  var_3 local_28;
  
  local_28.symbol = gsym;
  local_28.output_section = os;
  local_28.offset = offset;
  std::
  vector<gold::var_1<32,var_2>::var_3,_std::allocator<gold::var_1<32,var_2>::var_3>_>
  ::emplace_back<gold::var_1<32,var_2>::var_3>
            (&this->copy_relocs_,&local_28);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier))))) (return_statement))))

void MASKED(long param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)

{
  undefined8 local_28;
  undefined8 local_20;
  undefined8 local_18;
  
  local_28 = param_2;
  local_20 = param_3;
  local_18 = param_4;
  FUN_0019a970(param_1 + 0xc0,&local_28);
  return;
}

