
/* DWARF original prototype: void set_kept_comdat_section(Sized_relobj_file<32,_true> * this, uint
   shndx, bool is_comdat, uint symndx, uint64_t sh_size, Kept_section * kept_section) */

void __thiscall
gold::Sized_relobj_file<32,_true>::set_kept_comdat_section
          (Sized_relobj_file<32,_true> *this,uint shndx,bool is_comdat,uint symndx,uint64_t sh_size,
          Kept_section *kept_section)

{
  pair<unsigned_int,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section> local_24;
  
  local_24.first = shndx;
  local_24.second.kept_section = kept_section;
  local_24.second.symndx = symndx;
  local_24.second.is_comdat = is_comdat;
  local_24.second.sh_size = sh_size;
  std::
  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>_>
  ::
  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>
            (&(this->kept_comdat_sections_)._M_t,&local_24);
  return;
}



void FUN_000bfd40(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,
                 undefined4 param_5,undefined4 param_6,undefined4 param_7)

{
  undefined1 local_34 [16];
  undefined4 local_24;
  undefined4 local_20;
  undefined4 local_1c;
  undefined4 local_18;
  undefined4 local_14;
  undefined1 local_10;
  
  local_24 = param_2;
  local_1c = param_6;
  local_20 = param_5;
  local_18 = param_7;
  local_14 = param_4;
  local_10 = param_3;
  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);
  return;
}


SUB ESP,0x3c
MOV EAX,dword ptr [ESP + 0x44]
MOV EDX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x20],EDX
LEA EDX,[ESP + 0x8]
SUB ESP,0x4
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x5c]
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV byte ptr [ESP + 0x30],AL
LEA EAX,[ESP + 0x1c]
PUSH EAX
MOV EAX,dword ptr [ESP + 0x48]
ADD EAX,0x104
PUSH EAX
PUSH EDX
CALL 0x000bfc00
ADD ESP,0x48
RET
(translation_unit "void FUN_000bfd40(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  undefined1 local_34 [16];\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined1 local_10;\n  \n  local_24 = param_2;\n  local_1c = param_6;\n  local_20 = param_5;\n  local_18 = param_7;\n  local_14 = param_4;\n  local_10 = param_3;\n  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);\n  return;\n}\n\n" (function_definition "void FUN_000bfd40(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  undefined1 local_34 [16];\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined1 local_10;\n  \n  local_24 = param_2;\n  local_1c = param_6;\n  local_20 = param_5;\n  local_18 = param_7;\n  local_14 = param_4;\n  local_10 = param_3;\n  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);\n  return;\n}" primitive_type (function_declarator "FUN_000bfd40(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined1 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  undefined1 local_34 [16];\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined1 local_10;\n  \n  local_24 = param_2;\n  local_1c = param_6;\n  local_20 = param_5;\n  local_18 = param_7;\n  local_14 = param_4;\n  local_10 = param_3;\n  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);\n  return;\n}" { (declaration "undefined1 local_34 [16];" type_identifier (array_declarator "local_34 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 local_1c;" type_identifier identifier ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (declaration "undefined1 local_10;" type_identifier identifier ;) (expression_statement "local_24 = param_2;" (assignment_expression "local_24 = param_2" identifier = identifier) ;) (expression_statement "local_1c = param_6;" (assignment_expression "local_1c = param_6" identifier = identifier) ;) (expression_statement "local_20 = param_5;" (assignment_expression "local_20 = param_5" identifier = identifier) ;) (expression_statement "local_18 = param_7;" (assignment_expression "local_18 = param_7" identifier = identifier) ;) (expression_statement "local_14 = param_4;" (assignment_expression "local_14 = param_4" identifier = identifier) ;) (expression_statement "local_10 = param_3;" (assignment_expression "local_10 = param_3" identifier = identifier) ;) (expression_statement "FUN_000bfc00(local_34,param_1 + 0x104,&local_24);" (call_expression "FUN_000bfc00(local_34,param_1 + 0x104,&local_24)" identifier (argument_list "(local_34,param_1 + 0x104,&local_24)" ( identifier , (binary_expression "param_1 + 0x104" identifier + number_literal) , (pointer_expression "&local_24" & identifier) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void set_kept_comdat_section(Sized_relobj_file<32,_true> * this, uint\n   shndx, bool is_comdat, uint symndx, uint64_t sh_size, Kept_section * kept_section) */\n\nvoid __thiscall\ngold::Sized_relobj_file<32,_true>::set_kept_comdat_section\n          (Sized_relobj_file<32,_true> *this,uint shndx,bool is_comdat,uint symndx,uint64_t sh_size,\n          Kept_section *kept_section)\n\n{\n  pair<unsigned_int,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section> local_24;\n  \n  local_24.first = shndx;\n  local_24.second.kept_section = kept_section;\n  local_24.second.symndx = symndx;\n  local_24.second.is_comdat = is_comdat;\n  local_24.second.sh_size = sh_size;\n  std::\n  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>_>\n  ::\n  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>\n            (&(this->kept_comdat_sections_)._M_t,&local_24);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Sized_relobj_file<32,_true>::set_kept_comdat_section\n          (Sized_relobj_file<32,_true> *this,uint shndx,bool is_comdat,uint symndx,uint64_t sh_size,\n          Kept_section *kept_section)\n\n{\n  pair<unsigned_int,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section> local_24;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_true>::set_kept_comdat_section\n          (Sized_relobj_file<32,_true> *this,uint shndx,bool is_comdat,uint symndx,uint64_t sh_size,\n          Kept_section *kept_section)\n\n{\n  pair<" identifier > : : (function_declarator "set_kept_comdat_section\n          (Sized_relobj_file<32,_true> *this,uint shndx,bool is_comdat,uint symndx,uint64_t sh_size,\n          Kept_section *kept_section)" identifier (parameter_list "(Sized_relobj_file<32,_true> *this,uint shndx,bool is_comdat,uint symndx,uint64_t sh_size,\n          Kept_section *kept_section)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "bool is_comdat" primitive_type identifier) , (parameter_declaration "uint symndx" type_identifier identifier) , (parameter_declaration "uint64_t sh_size" primitive_type identifier) , (parameter_declaration "Kept_section *kept_section" type_identifier (pointer_declarator "*kept_section" * identifier)) ))) { identifier <) identifier , (ERROR "_gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_true>::Kept_comdat_section>" identifier > : : identifier >) identifier ;) (expression_statement "local_24.first = shndx;" (assignment_expression "local_24.first = shndx" (field_expression "local_24.first" identifier . field_identifier) = identifier) ;) (expression_statement "local_24.second.kept_section = kept_section;" (assignment_expression "local_24.second.kept_section = kept_section" (field_expression "local_24.second.kept_section" (field_expression "local_24.second" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_24.second.symndx = symndx;" (assignment_expression "local_24.second.symndx = symndx" (field_expression "local_24.second.symndx" (field_expression "local_24.second" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_24.second.is_comdat = is_comdat;" (assignment_expression "local_24.second.is_comdat = is_comdat" (field_expression "local_24.second.is_comdat" (field_expression "local_24.second" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_24.second.sh_size = sh_size;" (assignment_expression "local_24.second.sh_size = sh_size" (field_expression "local_24.second.sh_size" (field_expression "local_24.second" identifier . field_identifier) . field_identifier) = identifier) ;) (labeled_statement "std::\n  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>_>\n  ::\n  _M_emplace_unique<std::pair<unsigned_int,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>\n            (&(this->kept_comdat_sections_)._M_t,&local_24);" statement_identifier (ERROR "::\n  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>,_std::_Select1st<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::Sized_relobj_file<32,_true>::Kept_comdat_section>_>_>\n  ::\n  _M_emplace_unique<std::pair<unsigned_int,_gold:" : : (comma_expression "_Rb_tree<unsigned_int,_std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Sized_relobj_file<32,_true>::Kept_comdat_section>,_std" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::Kept_comdat_section>,_std" (binary_expression "_true>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Sized_relobj_file<32,_true>::Kept_comdat_section>_>,_std" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::Kept_comdat_section>_>,_std" (binary_expression "_true>::Kept_comdat_section>_" (binary_expression "_true>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<unsigned_int>,_std" (binary_expression "less<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_gold" (binary_expression "pair<unsigned_int_const" identifier < identifier) , identifier) : : (comma_expression "Sized_relobj_file<32,_true>::Kept_comdat_section>_>_>\n  ::\n  _M_emplace_unique<std" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::Kept_comdat_section>_>_>\n  ::\n  _M_emplace_unique<std" (binary_expression "_true>::Kept_comdat_section>_>_>\n  ::\n  _M_emplace_unique" (binary_expression "_true>::Kept_comdat_section>_>_" (binary_expression "_true>::Kept_comdat_section>_" (binary_expression "_true>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) : : (comma_expression "pair<unsigned_int,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , identifier) :) : (expression_statement "Sized_relobj_file<32,_true>::Kept_comdat_section>_>\n            (&(this->kept_comdat_sections_)._M_t,&local_24);" (comma_expression "Sized_relobj_file<32,_true>::Kept_comdat_section>_>\n            (&(this->kept_comdat_sections_)._M_t,&local_24)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::Kept_comdat_section>_>\n            (&(this->kept_comdat_sections_)._M_t,&local_24)" (binary_expression "_true>::Kept_comdat_section>_" (binary_expression "_true>::Kept_comdat_section" identifier > (ERROR "::" : :) identifier) > identifier) > (parenthesized_expression "(&(this->kept_comdat_sections_)._M_t,&local_24)" ( (comma_expression "&(this->kept_comdat_sections_)._M_t,&local_24" (pointer_expression "&(this->kept_comdat_sections_)._M_t" & (field_expression "(this->kept_comdat_sections_)._M_t" (parenthesized_expression "(this->kept_comdat_sections_)" ( (field_expression "this->kept_comdat_sections_" identifier -> field_identifier) )) . field_identifier)) , (pointer_expression "&local_24" & identifier)) )))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_000bfd40(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  undefined1 local_34 [16];\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined1 local_10;\n  \n  local_24 = param_2;\n  local_1c = param_6;\n  local_20 = param_5;\n  local_18 = param_7;\n  local_14 = param_4;\n  local_10 = param_3;\n  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);\n  return;\n}\n\n" (function_definition "void FUN_000bfd40(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  undefined1 local_34 [16];\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined1 local_10;\n  \n  local_24 = param_2;\n  local_1c = param_6;\n  local_20 = param_5;\n  local_18 = param_7;\n  local_14 = param_4;\n  local_10 = param_3;\n  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);\n  return;\n}" primitive_type (function_declarator "FUN_000bfd40(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined1 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  undefined1 local_34 [16];\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined1 local_10;\n  \n  local_24 = param_2;\n  local_1c = param_6;\n  local_20 = param_5;\n  local_18 = param_7;\n  local_14 = param_4;\n  local_10 = param_3;\n  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);\n  return;\n}" { (declaration "undefined1 local_34 [16];" type_identifier (array_declarator "local_34 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 local_1c;" type_identifier identifier ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (declaration "undefined1 local_10;" type_identifier identifier ;) (expression_statement "local_24 = param_2;" (assignment_expression "local_24 = param_2" identifier = identifier) ;) (expression_statement "local_1c = param_6;" (assignment_expression "local_1c = param_6" identifier = identifier) ;) (expression_statement "local_20 = param_5;" (assignment_expression "local_20 = param_5" identifier = identifier) ;) (expression_statement "local_18 = param_7;" (assignment_expression "local_18 = param_7" identifier = identifier) ;) (expression_statement "local_14 = param_4;" (assignment_expression "local_14 = param_4" identifier = identifier) ;) (expression_statement "local_10 = param_3;" (assignment_expression "local_10 = param_3" identifier = identifier) ;) (expression_statement "FUN_000bfc00(local_34,param_1 + 0x104,&local_24);" (call_expression "FUN_000bfc00(local_34,param_1 + 0x104,&local_24)" identifier (argument_list "(local_34,param_1 + 0x104,&local_24)" ( identifier , (binary_expression "param_1 + 0x104" identifier + number_literal) , (pointer_expression "&local_24" & identifier) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_000bfd40(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  undefined1 local_34 [16];\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined1 local_10;\n  \n  local_24 = param_2;\n  local_1c = param_6;\n  local_20 = param_5;\n  local_18 = param_7;\n  local_14 = param_4;\n  local_10 = param_3;\n  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000bfd40(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)" (identifier "FUN_000bfd40") (parameter_list "(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,\n                 undefined4 param_5,undefined4 param_6,undefined4 param_7)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined1 param_3" (type_identifier "undefined1") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) () ")"))) (compound_statement "{\n  undefined1 local_34 [16];\n  undefined4 local_24;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined1 local_10;\n  \n  local_24 = param_2;\n  local_1c = param_6;\n  local_20 = param_5;\n  local_18 = param_7;\n  local_14 = param_4;\n  local_10 = param_3;\n  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);\n  return;\n}" ({ "{") (declaration "undefined1 local_34 [16];" (type_identifier "undefined1") (array_declarator "local_34 [16]" (identifier "local_34") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 local_1c;" (type_identifier "undefined4") (identifier "local_1c") (; ";")) (declaration "undefined4 local_18;" (type_identifier "undefined4") (identifier "local_18") (; ";")) (declaration "undefined4 local_14;" (type_identifier "undefined4") (identifier "local_14") (; ";")) (declaration "undefined1 local_10;" (type_identifier "undefined1") (identifier "local_10") (; ";")) (expression_statement "local_24 = param_2;" (assignment_expression "local_24 = param_2" (identifier "local_24") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_1c = param_6;" (assignment_expression "local_1c = param_6" (identifier "local_1c") (= "=") (identifier "param_6")) (; ";")) (expression_statement "local_20 = param_5;" (assignment_expression "local_20 = param_5" (identifier "local_20") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_18 = param_7;" (assignment_expression "local_18 = param_7" (identifier "local_18") (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_14 = param_4;" (assignment_expression "local_14 = param_4" (identifier "local_14") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_10 = param_3;" (assignment_expression "local_10 = param_3" (identifier "local_10") (= "=") (identifier "param_3")) (; ";")) (expression_statement "FUN_000bfc00(local_34,param_1 + 0x104,&local_24);" (call_expression "FUN_000bfc00(local_34,param_1 + 0x104,&local_24)" (identifier "FUN_000bfc00") (argument_list "(local_34,param_1 + 0x104,&local_24)" (( "(") (identifier "local_34") (, ",") (binary_expression "param_1 + 0x104" (identifier "param_1") (+ "+") (number_literal "0x104")) (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void set_kept_comdat_section(Sized_relobj_file<32,_true> * this, uint
   shndx, bool is_comdat, uint symndx, uint64_t sh_size, Kept_section * kept_section) */

void __thiscall
gold::var_1<32,var_2>::set_kept_comdat_section
          (var_1<32,var_2> *this,uint shndx,bool is_comdat,uint symndx,uint64_t sh_size,
          Kept_section *kept_section)

{
  pair<unsigned_int,_gold::var_1<32,var_2>::var_3> local_24;
  
  local_24.first = shndx;
  local_24.second.kept_section = kept_section;
  local_24.second.symndx = symndx;
  local_24.second.is_comdat = is_comdat;
  local_24.second.sh_size = sh_size;
  std::
  _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_gold::var_1<32,var_2>::var_3>,_std::_Select1st<std::pair<unsigned_int_const,_gold::var_1<32,var_2>::var_3>var_4>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_gold::var_1<32,var_2>::var_3>var_4>var_4>
  ::
  _M_emplace_unique<std::pair<unsigned_int,_gold::var_1<32,var_2>::var_3>var_4>
            (&(this->kept_comdat_sections_)._M_t,&local_24);
  return;
}


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

void MASKED(int param_1,undefined4 param_2,undefined1 param_3,undefined4 param_4,
                 undefined4 param_5,undefined4 param_6,undefined4 param_7)

{
  undefined1 local_34 [16];
  undefined4 local_24;
  undefined4 local_20;
  undefined4 local_1c;
  undefined4 local_18;
  undefined4 local_14;
  undefined1 local_10;
  
  local_24 = param_2;
  local_1c = param_6;
  local_20 = param_5;
  local_18 = param_7;
  local_14 = param_4;
  local_10 = param_3;
  FUN_000bfc00(local_34,param_1 + 0x104,&local_24);
  return;
}

