
/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "STB": Some values do not have unique names */
/* DWARF original prototype: void init_output_data(Sized_symbol<64> * this, char * name, char *
   version, Output_data * od, Value_type value, Size_type symsize, STT type, STB binding, STV
   visibility, uchar nonvis, bool offset_is_from_end, bool is_predefined) */

void __thiscall
gold::Sized_symbol<64>::init_output_data
          (Sized_symbol<64> *this,char *name,char *version,Output_data *od,Value_type value,
          Size_type symsize,STT type,STB binding,STV visibility,uchar nonvis,bool offset_is_from_end
          ,bool is_predefined)

{
  uint uVar1;
  
  uVar1 = *(uint *)&(this->super_Symbol).field_0x28;
  (this->super_Symbol).name_ = name;
  (this->super_Symbol).version_ = version;
  (this->super_Symbol).u1_.output_data = od;
  (this->super_Symbol).symtab_index_ = 0;
  (this->super_Symbol).dynsym_index_ = 0;
  (this->super_Symbol).plt_offset_ = 0xffffffff;
  (this->super_Symbol).field_0x2c =
       (this->super_Symbol).field_0x2c & 7 | (byte)((is_predefined & 1) << 5);
  (this->super_Symbol).u2_.offset_is_from_end = offset_is_from_end;
  (this->super_Symbol).got_offsets_.got_type_ = 0xffffffff;
  (this->super_Symbol).got_offsets_.got_offset_ = 0;
  *(undefined4 *)((int)&this->value_ + 4) = value._4_4_;
  *(STV *)&(this->super_Symbol).field_0x28 =
       uVar1 & 0xffff | type << 0x1c | (binding & STB_HIPROC) << 0x18 |
       (visibility & STV_PROTECTED) << 0x16 | (nonvis & 0x3f) << 0x10;
  (this->super_Symbol).got_offsets_.got_next_ = (Got_offset_list *)0x0;
  *(ushort *)&(this->super_Symbol).field_0x2a = (ushort)uVar1 & 0x40 | 0x2102;
  *(undefined4 *)&this->value_ = value._0_4_;
  this->symsize_ = symsize;
  return;
}



/* gold::Sized_symbol<64>::init_output_data(char const*, char const*, gold::Output_data*, unsigned
   long long, unsigned long long, elfcpp::STT, elfcpp::STB, elfcpp::STV, unsigned char, bool, bool)
    */

void gold::Sized_symbol<64>::init_output_data
               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,
               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,
               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,
               byte param_14)

{
  uint uVar1;
  
  uVar1 = param_1[10];
  *param_1 = param_2;
  param_1[1] = param_3;
  param_1[2] = param_4_00;
  param_1[4] = 0;
  param_1[5] = 0;
  param_1[6] = 0xffffffff;
  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);
  *(undefined1 *)(param_1 + 3) = param_13;
  param_1[7] = 0xffffffff;
  param_1[8] = 0;
  param_1[0xd] = param_6;
  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16
                | (param_12 & 0x3f) << 0x10;
  param_1[9] = 0;
  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;
  param_1[0xc] = param_4;
  param_1[0xf] = param_8;
  param_1[0xe] = param_5;
  return;
}


lw v0,0x28(a0)
li t0,-0x1
lw v1,0x20(sp)
lw t1,0x24(sp)
sw a1,0x0(a0)
ins v0,v1,0x1c,0x4
lw a1,0x28(sp)
lbu v1,0x2c(a0)
ins v0,t1,0x18,0x4
sw a2,0x4(a0)
sw a3,0x8(a0)
ins v0,a1,0x16,0x2
lbu a1,0x37(sp)
andi v1,v1,0x27
sw zero,0x10(a0)
sw zero,0x14(a0)
ins v1,a1,0x5,0x1
lbu a1,0x33(sp)
sw t0,0x18(a0)
sb v1,0x2c(a0)
sb a1,0xc(a0)
lbu a1,0x2f(sp)
lw v1,0x14(sp)
sw t0,0x1c(a0)
ins v0,a1,0x10,0x6
sw zero,0x20(a0)
sw v1,0x34(a0)
andi a1,v0,0x40
sw v0,0x28(a0)
ori v0,a1,0x2102
sw zero,0x24(a0)
sh v0,0x2a(a0)
lw v0,0x10(sp)
lw v1,0x1c(sp)
sw v0,0x30(a0)
sw v1,0x3c(a0)
lw v0,0x18(sp)
jr ra
_sw v0,0x38(a0)
(translation_unit "/* gold::Sized_symbol<64>::init_output_data(char const*, char const*, gold::Output_data*, unsigned\n   long long, unsigned long long, elfcpp::STT, elfcpp::STB, elfcpp::STV, unsigned char, bool, bool)\n    */\n\nvoid gold::Sized_symbol<64>::init_output_data\n               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1[10];\n  *param_1 = param_2;\n  param_1[1] = param_3;\n  param_1[2] = param_4_00;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  param_1[6] = 0xffffffff;\n  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);\n  *(undefined1 *)(param_1 + 3) = param_13;\n  param_1[7] = 0xffffffff;\n  param_1[8] = 0;\n  param_1[0xd] = param_6;\n  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;\n  param_1[9] = 0;\n  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;\n  param_1[0xc] = param_4;\n  param_1[0xf] = param_8;\n  param_1[0xe] = param_5;\n  return;\n}\n\n" comment (function_definition "void gold::Sized_symbol<64>::init_output_data\n               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1[10];\n  *param_1 = param_2;\n  param_1[1] = param_3;\n  param_1[2] = param_4_00;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  param_1[6] = 0xffffffff;\n  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);\n  *(undefined1 *)(param_1 + 3) = param_13;\n  param_1[7] = 0xffffffff;\n  param_1[8] = 0;\n  param_1[0xd] = param_6;\n  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;\n  param_1[9] = 0;\n  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;\n  param_1[0xc] = param_4;\n  param_1[0xf] = param_8;\n  param_1[0xe] = param_5;\n  return;\n}" primitive_type (ERROR "gold::Sized_symbol<64>::" identifier : : identifier < number_literal > : :) (function_declarator "init_output_data\n               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4_00" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "int param_9" primitive_type identifier) , (parameter_declaration "uint param_10" type_identifier identifier) , (parameter_declaration "uint param_11" type_identifier identifier) , (parameter_declaration "byte param_12" type_identifier identifier) , (parameter_declaration "undefined1 param_13" type_identifier identifier) , (parameter_declaration "byte param_14" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = param_1[10];\n  *param_1 = param_2;\n  param_1[1] = param_3;\n  param_1[2] = param_4_00;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  param_1[6] = 0xffffffff;\n  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);\n  *(undefined1 *)(param_1 + 3) = param_13;\n  param_1[7] = 0xffffffff;\n  param_1[8] = 0;\n  param_1[0xd] = param_6;\n  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;\n  param_1[9] = 0;\n  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;\n  param_1[0xc] = param_4;\n  param_1[0xf] = param_8;\n  param_1[0xe] = param_5;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = param_1[10];" (assignment_expression "uVar1 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = param_2;" (assignment_expression "*param_1 = param_2" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = param_3;" (assignment_expression "param_1[1] = param_3" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[2] = param_4_00;" (assignment_expression "param_1[2] = param_4_00" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[6] = 0xffffffff;" (assignment_expression "param_1[6] = 0xffffffff" (subscript_expression "param_1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);" (assignment_expression "*(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5)" (pointer_expression "*(byte *)(param_1 + 0xb)" * (cast_expression "(byte *)(param_1 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5)" (binary_expression "*(byte *)(param_1 + 0xb) & 7" (pointer_expression "*(byte *)(param_1 + 0xb)" * (cast_expression "(byte *)(param_1 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) )))) & number_literal) | (call_expression "(byte)((param_14 & 1) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((param_14 & 1) << 5)" ( (binary_expression "(param_14 & 1) << 5" (parenthesized_expression "(param_14 & 1)" ( (binary_expression "param_14 & 1" identifier & number_literal) )) << number_literal) ))))) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = param_13;" (assignment_expression "*(undefined1 *)(param_1 + 3) = param_13" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_1[7] = 0xffffffff;" (assignment_expression "param_1[7] = 0xffffffff" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xd] = param_6;" (assignment_expression "param_1[0xd] = param_6" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;" (assignment_expression "param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (binary_expression "uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10" (binary_expression "uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16" (binary_expression "uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18" (binary_expression "uVar1 & 0xffff | param_9 << 0x1c" (binary_expression "uVar1 & 0xffff" identifier & number_literal) | (binary_expression "param_9 << 0x1c" identifier << number_literal)) | (binary_expression "(param_10 & 0xf) << 0x18" (parenthesized_expression "(param_10 & 0xf)" ( (binary_expression "param_10 & 0xf" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_11 & 3) << 0x16" (parenthesized_expression "(param_11 & 3)" ( (binary_expression "param_11 & 3" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_12 & 0x3f) << 0x10" (parenthesized_expression "(param_12 & 0x3f)" ( (binary_expression "param_12 & 0x3f" identifier & number_literal) )) << number_literal))) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;" (assignment_expression "*(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102" (pointer_expression "*(ushort *)((int)param_1 + 0x2a)" * (cast_expression "(ushort *)((int)param_1 + 0x2a)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x2a)" ( (binary_expression "(int)param_1 + 0x2a" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)uVar1 & 0x40 | 0x2102" (binary_expression "(ushort)uVar1 & 0x40" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) | number_literal)) ;) (expression_statement "param_1[0xc] = param_4;" (assignment_expression "param_1[0xc] = param_4" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xf] = param_8;" (assignment_expression "param_1[0xf] = param_8" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xe] = param_5;" (assignment_expression "param_1[0xe] = param_5" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "STT": Some values do not have unique names */\n/* WARNING: Enum "STB": Some values do not have unique names */\n/* DWARF original prototype: void init_output_data(Sized_symbol<64> * this, char * name, char *\n   version, Output_data * od, Value_type value, Size_type symsize, STT type, STB binding, STV\n   visibility, uchar nonvis, bool offset_is_from_end, bool is_predefined) */\n\nvoid __thiscall\ngold::Sized_symbol<64>::init_output_data\n          (Sized_symbol<64> *this,char *name,char *version,Output_data *od,Value_type value,\n          Size_type symsize,STT type,STB binding,STV visibility,uchar nonvis,bool offset_is_from_end\n          ,bool is_predefined)\n\n{\n  uint uVar1;\n  \n  uVar1 = *(uint *)&(this->super_Symbol).field_0x28;\n  (this->super_Symbol).name_ = name;\n  (this->super_Symbol).version_ = version;\n  (this->super_Symbol).u1_.output_data = od;\n  (this->super_Symbol).symtab_index_ = 0;\n  (this->super_Symbol).dynsym_index_ = 0;\n  (this->super_Symbol).plt_offset_ = 0xffffffff;\n  (this->super_Symbol).field_0x2c =\n       (this->super_Symbol).field_0x2c & 7 | (byte)((is_predefined & 1) << 5);\n  (this->super_Symbol).u2_.offset_is_from_end = offset_is_from_end;\n  (this->super_Symbol).got_offsets_.got_type_ = 0xffffffff;\n  (this->super_Symbol).got_offsets_.got_offset_ = 0;\n  *(undefined4 *)((int)&this->value_ + 4) = value._4_4_;\n  *(STV *)&(this->super_Symbol).field_0x28 =\n       uVar1 & 0xffff | type << 0x1c | (binding & STB_HIPROC) << 0x18 |\n       (visibility & STV_PROTECTED) << 0x16 | (nonvis & 0x3f) << 0x10;\n  (this->super_Symbol).got_offsets_.got_next_ = (Got_offset_list *)0x0;\n  *(ushort *)&(this->super_Symbol).field_0x2a = (ushort)uVar1 & 0x40 | 0x2102;\n  *(undefined4 *)&this->value_ = value._0_4_;\n  this->symsize_ = symsize;\n  return;\n}\n\n" comment comment comment (function_definition "void __thiscall\ngold::Sized_symbol<64>::init_output_data\n          (Sized_symbol<64> *this,char *name,char *version,Output_data *od,Value_type value,\n          Size_type symsize,STT type,STB binding,STV visibility,uchar nonvis,bool offset_is_from_end\n          ,bool is_predefined)\n\n{\n  uint uVar1;\n  \n  uVar1 = *(uint *)&(this->super_Symbol).field_0x28;\n  (this->super_Symbol).name_ = name;\n  (this->super_Symbol).version_ = version;\n  (this->super_Symbol).u1_.output_data = od;\n  (this->super_Symbol).symtab_index_ = 0;\n  (this->super_Symbol).dynsym_index_ = 0;\n  (this->super_Symbol).plt_offset_ = 0xffffffff;\n  (this->super_Symbol).field_0x2c =\n       (this->super_Symbol).field_0x2c & 7 | (byte)((is_predefined & 1) << 5);\n  (this->super_Symbol).u2_.offset_is_from_end = offset_is_from_end;\n  (this->super_Symbol).got_offsets_.got_type_ = 0xffffffff;\n  (this->super_Symbol).got_offsets_.got_offset_ = 0;\n  *(undefined4 *)((int)&this->value_ + 4) = value._4_4_;\n  *(STV *)&(this->super_Symbol).field_0x28 =\n       uVar1 & 0xffff | type << 0x1c | (binding & STB_HIPROC) << 0x18 |\n       (visibility & STV_PROTECTED) << 0x16 | (nonvis & 0x3f) << 0x10;\n  (this->super_Symbol).got_offsets_.got_next_ = (Got_offset_list *)0x0;\n  *(ushort *)&(this->super_Symbol).field_0x2a = (ushort)uVar1 & 0x40 | 0x2102;\n  *(undefined4 *)&this->value_ = value._0_4_;\n  this->symsize_ = symsize;\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Sized_symbol<64>::" identifier : : identifier < number_literal > : :) (function_declarator "init_output_data\n          (Sized_symbol<64> *this,char *name,char *version,Output_data *od,Value_type value,\n          Size_type symsize,STT type,STB binding,STV visibility,uchar nonvis,bool offset_is_from_end\n          ,bool is_predefined)" identifier (parameter_list "(Sized_symbol<64> *this,char *name,char *version,Output_data *od,Value_type value,\n          Size_type symsize,STT type,STB binding,STV visibility,uchar nonvis,bool offset_is_from_end\n          ,bool is_predefined)" ( (parameter_declaration "Sized_symbol<64> *this" type_identifier (ERROR "<64>" < number_literal >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "char *version" primitive_type (pointer_declarator "*version" * identifier)) , (parameter_declaration "Output_data *od" type_identifier (pointer_declarator "*od" * identifier)) , (parameter_declaration "Value_type value" type_identifier identifier) , (parameter_declaration "Size_type symsize" type_identifier identifier) , (parameter_declaration "STT type" type_identifier identifier) , (parameter_declaration "STB binding" type_identifier identifier) , (parameter_declaration "STV visibility" type_identifier identifier) , (parameter_declaration "uchar nonvis" type_identifier identifier) , (parameter_declaration "bool offset_is_from_end" primitive_type identifier) , (parameter_declaration "bool is_predefined" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = *(uint *)&(this->super_Symbol).field_0x28;\n  (this->super_Symbol).name_ = name;\n  (this->super_Symbol).version_ = version;\n  (this->super_Symbol).u1_.output_data = od;\n  (this->super_Symbol).symtab_index_ = 0;\n  (this->super_Symbol).dynsym_index_ = 0;\n  (this->super_Symbol).plt_offset_ = 0xffffffff;\n  (this->super_Symbol).field_0x2c =\n       (this->super_Symbol).field_0x2c & 7 | (byte)((is_predefined & 1) << 5);\n  (this->super_Symbol).u2_.offset_is_from_end = offset_is_from_end;\n  (this->super_Symbol).got_offsets_.got_type_ = 0xffffffff;\n  (this->super_Symbol).got_offsets_.got_offset_ = 0;\n  *(undefined4 *)((int)&this->value_ + 4) = value._4_4_;\n  *(STV *)&(this->super_Symbol).field_0x28 =\n       uVar1 & 0xffff | type << 0x1c | (binding & STB_HIPROC) << 0x18 |\n       (visibility & STV_PROTECTED) << 0x16 | (nonvis & 0x3f) << 0x10;\n  (this->super_Symbol).got_offsets_.got_next_ = (Got_offset_list *)0x0;\n  *(ushort *)&(this->super_Symbol).field_0x2a = (ushort)uVar1 & 0x40 | 0x2102;\n  *(undefined4 *)&this->value_ = value._0_4_;\n  this->symsize_ = symsize;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = *(uint *)&(this->super_Symbol).field_0x28;" (assignment_expression "uVar1 = *(uint *)&(this->super_Symbol).field_0x28" identifier = (pointer_expression "*(uint *)&(this->super_Symbol).field_0x28" * (cast_expression "(uint *)&(this->super_Symbol).field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Symbol).field_0x28" & (field_expression "(this->super_Symbol).field_0x28" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "(this->super_Symbol).name_ = name;" (assignment_expression "(this->super_Symbol).name_ = name" (field_expression "(this->super_Symbol).name_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(this->super_Symbol).version_ = version;" (assignment_expression "(this->super_Symbol).version_ = version" (field_expression "(this->super_Symbol).version_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(this->super_Symbol).u1_.output_data = od;" (assignment_expression "(this->super_Symbol).u1_.output_data = od" (field_expression "(this->super_Symbol).u1_.output_data" (field_expression "(this->super_Symbol).u1_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(this->super_Symbol).symtab_index_ = 0;" (assignment_expression "(this->super_Symbol).symtab_index_ = 0" (field_expression "(this->super_Symbol).symtab_index_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Symbol).dynsym_index_ = 0;" (assignment_expression "(this->super_Symbol).dynsym_index_ = 0" (field_expression "(this->super_Symbol).dynsym_index_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Symbol).plt_offset_ = 0xffffffff;" (assignment_expression "(this->super_Symbol).plt_offset_ = 0xffffffff" (field_expression "(this->super_Symbol).plt_offset_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Symbol).field_0x2c =\n       (this->super_Symbol).field_0x2c & 7 | (byte)((is_predefined & 1) << 5);" (assignment_expression "(this->super_Symbol).field_0x2c =\n       (this->super_Symbol).field_0x2c & 7 | (byte)((is_predefined & 1) << 5)" (field_expression "(this->super_Symbol).field_0x2c" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(this->super_Symbol).field_0x2c & 7 | (byte)((is_predefined & 1) << 5)" (binary_expression "(this->super_Symbol).field_0x2c & 7" (field_expression "(this->super_Symbol).field_0x2c" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) | (call_expression "(byte)((is_predefined & 1) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((is_predefined & 1) << 5)" ( (binary_expression "(is_predefined & 1) << 5" (parenthesized_expression "(is_predefined & 1)" ( (binary_expression "is_predefined & 1" identifier & number_literal) )) << number_literal) ))))) ;) (expression_statement "(this->super_Symbol).u2_.offset_is_from_end = offset_is_from_end;" (assignment_expression "(this->super_Symbol).u2_.offset_is_from_end = offset_is_from_end" (field_expression "(this->super_Symbol).u2_.offset_is_from_end" (field_expression "(this->super_Symbol).u2_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(this->super_Symbol).got_offsets_.got_type_ = 0xffffffff;" (assignment_expression "(this->super_Symbol).got_offsets_.got_type_ = 0xffffffff" (field_expression "(this->super_Symbol).got_offsets_.got_type_" (field_expression "(this->super_Symbol).got_offsets_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Symbol).got_offsets_.got_offset_ = 0;" (assignment_expression "(this->super_Symbol).got_offsets_.got_offset_ = 0" (field_expression "(this->super_Symbol).got_offsets_.got_offset_" (field_expression "(this->super_Symbol).got_offsets_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this->value_ + 4) = value._4_4_;" (assignment_expression "*(undefined4 *)((int)&this->value_ + 4) = value._4_4_" (pointer_expression "*(undefined4 *)((int)&this->value_ + 4)" * (cast_expression "(undefined4 *)((int)&this->value_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->value_ + 4)" ( (binary_expression "(int)&this->value_ + 4" (cast_expression "(int)&this->value_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->value_" & (field_expression "this->value_" identifier -> field_identifier))) + number_literal) )))) = (field_expression "value._4_4_" identifier . field_identifier)) ;) (expression_statement "*(STV *)&(this->super_Symbol).field_0x28 =\n       uVar1 & 0xffff | type << 0x1c | (binding & STB_HIPROC) << 0x18 |\n       (visibility & STV_PROTECTED) << 0x16 | (nonvis & 0x3f) << 0x10;" (assignment_expression "*(STV *)&(this->super_Symbol).field_0x28 =\n       uVar1 & 0xffff | type << 0x1c | (binding & STB_HIPROC) << 0x18 |\n       (visibility & STV_PROTECTED) << 0x16 | (nonvis & 0x3f) << 0x10" (pointer_expression "*(STV *)&(this->super_Symbol).field_0x28" * (cast_expression "(STV *)&(this->super_Symbol).field_0x28" ( (type_descriptor "STV *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Symbol).field_0x28" & (field_expression "(this->super_Symbol).field_0x28" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier)))) = (binary_expression "uVar1 & 0xffff | type << 0x1c | (binding & STB_HIPROC) << 0x18 |\n       (visibility & STV_PROTECTED) << 0x16 | (nonvis & 0x3f) << 0x10" (binary_expression "uVar1 & 0xffff | type << 0x1c | (binding & STB_HIPROC) << 0x18 |\n       (visibility & STV_PROTECTED) << 0x16" (binary_expression "uVar1 & 0xffff | type << 0x1c | (binding & STB_HIPROC) << 0x18" (binary_expression "uVar1 & 0xffff | type << 0x1c" (binary_expression "uVar1 & 0xffff" identifier & number_literal) | (binary_expression "type << 0x1c" identifier << number_literal)) | (binary_expression "(binding & STB_HIPROC) << 0x18" (parenthesized_expression "(binding & STB_HIPROC)" ( (binary_expression "binding & STB_HIPROC" identifier & identifier) )) << number_literal)) | (binary_expression "(visibility & STV_PROTECTED) << 0x16" (parenthesized_expression "(visibility & STV_PROTECTED)" ( (binary_expression "visibility & STV_PROTECTED" identifier & identifier) )) << number_literal)) | (binary_expression "(nonvis & 0x3f) << 0x10" (parenthesized_expression "(nonvis & 0x3f)" ( (binary_expression "nonvis & 0x3f" identifier & number_literal) )) << number_literal))) ;) (expression_statement "(this->super_Symbol).got_offsets_.got_next_ = (Got_offset_list *)0x0;" (assignment_expression "(this->super_Symbol).got_offsets_.got_next_ = (Got_offset_list *)0x0" (field_expression "(this->super_Symbol).got_offsets_.got_next_" (field_expression "(this->super_Symbol).got_offsets_" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(Got_offset_list *)0x0" ( (type_descriptor "Got_offset_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(ushort *)&(this->super_Symbol).field_0x2a = (ushort)uVar1 & 0x40 | 0x2102;" (assignment_expression "*(ushort *)&(this->super_Symbol).field_0x2a = (ushort)uVar1 & 0x40 | 0x2102" (pointer_expression "*(ushort *)&(this->super_Symbol).field_0x2a" * (cast_expression "(ushort *)&(this->super_Symbol).field_0x2a" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Symbol).field_0x2a" & (field_expression "(this->super_Symbol).field_0x2a" (parenthesized_expression "(this->super_Symbol)" ( (field_expression "this->super_Symbol" identifier -> field_identifier) )) . field_identifier)))) = (binary_expression "(ushort)uVar1 & 0x40 | 0x2102" (binary_expression "(ushort)uVar1 & 0x40" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) | number_literal)) ;) (expression_statement "*(undefined4 *)&this->value_ = value._0_4_;" (assignment_expression "*(undefined4 *)&this->value_ = value._0_4_" (pointer_expression "*(undefined4 *)&this->value_" * (cast_expression "(undefined4 *)&this->value_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->value_" & (field_expression "this->value_" identifier -> field_identifier)))) = (field_expression "value._0_4_" identifier . field_identifier)) ;) (expression_statement "this->symsize_ = symsize;" (assignment_expression "this->symsize_ = symsize" (field_expression "this->symsize_" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void gold::Sized_symbol<64>::init_output_data\n               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1[10];\n  *param_1 = param_2;\n  param_1[1] = param_3;\n  param_1[2] = param_4_00;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  param_1[6] = 0xffffffff;\n  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);\n  *(undefined1 *)(param_1 + 3) = param_13;\n  param_1[7] = 0xffffffff;\n  param_1[8] = 0;\n  param_1[0xd] = param_6;\n  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;\n  param_1[9] = 0;\n  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;\n  param_1[0xc] = param_4;\n  param_1[0xf] = param_8;\n  param_1[0xe] = param_5;\n  return;\n}\n\n" (function_definition "void gold::Sized_symbol<64>::init_output_data\n               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1[10];\n  *param_1 = param_2;\n  param_1[1] = param_3;\n  param_1[2] = param_4_00;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  param_1[6] = 0xffffffff;\n  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);\n  *(undefined1 *)(param_1 + 3) = param_13;\n  param_1[7] = 0xffffffff;\n  param_1[8] = 0;\n  param_1[0xd] = param_6;\n  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;\n  param_1[9] = 0;\n  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;\n  param_1[0xc] = param_4;\n  param_1[0xf] = param_8;\n  param_1[0xe] = param_5;\n  return;\n}" primitive_type (ERROR "gold::Sized_symbol<64>::" identifier : : identifier < number_literal > : :) (function_declarator "init_output_data\n               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4_00" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "int param_9" primitive_type identifier) , (parameter_declaration "uint param_10" type_identifier identifier) , (parameter_declaration "uint param_11" type_identifier identifier) , (parameter_declaration "byte param_12" type_identifier identifier) , (parameter_declaration "undefined1 param_13" type_identifier identifier) , (parameter_declaration "byte param_14" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = param_1[10];\n  *param_1 = param_2;\n  param_1[1] = param_3;\n  param_1[2] = param_4_00;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  param_1[6] = 0xffffffff;\n  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);\n  *(undefined1 *)(param_1 + 3) = param_13;\n  param_1[7] = 0xffffffff;\n  param_1[8] = 0;\n  param_1[0xd] = param_6;\n  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;\n  param_1[9] = 0;\n  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;\n  param_1[0xc] = param_4;\n  param_1[0xf] = param_8;\n  param_1[0xe] = param_5;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = param_1[10];" (assignment_expression "uVar1 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = param_2;" (assignment_expression "*param_1 = param_2" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = param_3;" (assignment_expression "param_1[1] = param_3" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[2] = param_4_00;" (assignment_expression "param_1[2] = param_4_00" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[6] = 0xffffffff;" (assignment_expression "param_1[6] = 0xffffffff" (subscript_expression "param_1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);" (assignment_expression "*(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5)" (pointer_expression "*(byte *)(param_1 + 0xb)" * (cast_expression "(byte *)(param_1 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5)" (binary_expression "*(byte *)(param_1 + 0xb) & 7" (pointer_expression "*(byte *)(param_1 + 0xb)" * (cast_expression "(byte *)(param_1 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) )))) & number_literal) | (call_expression "(byte)((param_14 & 1) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((param_14 & 1) << 5)" ( (binary_expression "(param_14 & 1) << 5" (parenthesized_expression "(param_14 & 1)" ( (binary_expression "param_14 & 1" identifier & number_literal) )) << number_literal) ))))) ;) (expression_statement "*(undefined1 *)(param_1 + 3) = param_13;" (assignment_expression "*(undefined1 *)(param_1 + 3) = param_13" (pointer_expression "*(undefined1 *)(param_1 + 3)" * (cast_expression "(undefined1 *)(param_1 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_1[7] = 0xffffffff;" (assignment_expression "param_1[7] = 0xffffffff" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xd] = param_6;" (assignment_expression "param_1[0xd] = param_6" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;" (assignment_expression "param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (binary_expression "uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10" (binary_expression "uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16" (binary_expression "uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18" (binary_expression "uVar1 & 0xffff | param_9 << 0x1c" (binary_expression "uVar1 & 0xffff" identifier & number_literal) | (binary_expression "param_9 << 0x1c" identifier << number_literal)) | (binary_expression "(param_10 & 0xf) << 0x18" (parenthesized_expression "(param_10 & 0xf)" ( (binary_expression "param_10 & 0xf" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_11 & 3) << 0x16" (parenthesized_expression "(param_11 & 3)" ( (binary_expression "param_11 & 3" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_12 & 0x3f) << 0x10" (parenthesized_expression "(param_12 & 0x3f)" ( (binary_expression "param_12 & 0x3f" identifier & number_literal) )) << number_literal))) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;" (assignment_expression "*(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102" (pointer_expression "*(ushort *)((int)param_1 + 0x2a)" * (cast_expression "(ushort *)((int)param_1 + 0x2a)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x2a)" ( (binary_expression "(int)param_1 + 0x2a" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)uVar1 & 0x40 | 0x2102" (binary_expression "(ushort)uVar1 & 0x40" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) | number_literal)) ;) (expression_statement "param_1[0xc] = param_4;" (assignment_expression "param_1[0xc] = param_4" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xf] = param_8;" (assignment_expression "param_1[0xf] = param_8" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xe] = param_5;" (assignment_expression "param_1[0xe] = param_5" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT : : IDENT < LIT > : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * 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) , (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 IDENT ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | (binary_expression IDENT << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })))
(function_definition "void gold::Sized_symbol<64>::init_output_data\n               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1[10];\n  *param_1 = param_2;\n  param_1[1] = param_3;\n  param_1[2] = param_4_00;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  param_1[6] = 0xffffffff;\n  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);\n  *(undefined1 *)(param_1 + 3) = param_13;\n  param_1[7] = 0xffffffff;\n  param_1[8] = 0;\n  param_1[0xd] = param_6;\n  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;\n  param_1[9] = 0;\n  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;\n  param_1[0xc] = param_4;\n  param_1[0xf] = param_8;\n  param_1[0xe] = param_5;\n  return;\n}" (primitive_type "void") (ERROR "gold::Sized_symbol<64>::" (identifier "gold") (: ":") (: ":") (identifier "Sized_symbol") (< "<") (number_literal "64") (> ">") (: ":") (: ":")) (function_declarator "init_output_data\n               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)" (identifier "init_output_data") (parameter_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,\n               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,\n               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,\n               byte param_14)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4_00" (type_identifier "undefined4") (identifier "param_4_00")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) (, ",") (parameter_declaration "int param_9" (primitive_type "int") (identifier "param_9")) (, ",") (parameter_declaration "uint param_10" (type_identifier "uint") (identifier "param_10")) (, ",") (parameter_declaration "uint param_11" (type_identifier "uint") (identifier "param_11")) (, ",") (parameter_declaration "byte param_12" (type_identifier "byte") (identifier "param_12")) (, ",") (parameter_declaration "undefined1 param_13" (type_identifier "undefined1") (identifier "param_13")) (, ",") (parameter_declaration "byte param_14" (type_identifier "byte") (identifier "param_14")) () ")"))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = param_1[10];\n  *param_1 = param_2;\n  param_1[1] = param_3;\n  param_1[2] = param_4_00;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  param_1[6] = 0xffffffff;\n  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);\n  *(undefined1 *)(param_1 + 3) = param_13;\n  param_1[7] = 0xffffffff;\n  param_1[8] = 0;\n  param_1[0xd] = param_6;\n  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;\n  param_1[9] = 0;\n  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;\n  param_1[0xc] = param_4;\n  param_1[0xf] = param_8;\n  param_1[0xe] = param_5;\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (expression_statement "uVar1 = param_1[10];" (assignment_expression "uVar1 = param_1[10]" (identifier "uVar1") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "*param_1 = param_2;" (assignment_expression "*param_1 = param_2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "param_1[1] = param_3;" (assignment_expression "param_1[1] = param_3" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "param_1[2] = param_4_00;" (assignment_expression "param_1[2] = param_4_00" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "param_4_00")) (; ";")) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[6] = 0xffffffff;" (assignment_expression "param_1[6] = 0xffffffff" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);" (assignment_expression "*(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5)" (pointer_expression "*(byte *)(param_1 + 0xb)" (* "*") (cast_expression "(byte *)(param_1 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb)" (( "(") (binary_expression "param_1 + 0xb" (identifier "param_1") (+ "+") (number_literal "0xb")) () ")")))) (= "=") (binary_expression "*(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5)" (binary_expression "*(byte *)(param_1 + 0xb) & 7" (pointer_expression "*(byte *)(param_1 + 0xb)" (* "*") (cast_expression "(byte *)(param_1 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb)" (( "(") (binary_expression "param_1 + 0xb" (identifier "param_1") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "7")) (| "|") (call_expression "(byte)((param_14 & 1) << 5)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((param_14 & 1) << 5)" (( "(") (binary_expression "(param_14 & 1) << 5" (parenthesized_expression "(param_14 & 1)" (( "(") (binary_expression "param_14 & 1" (identifier "param_14") (& "&") (number_literal "1")) () ")")) (<< "<<") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 3) = param_13;" (assignment_expression "*(undefined1 *)(param_1 + 3) = param_13" (pointer_expression "*(undefined1 *)(param_1 + 3)" (* "*") (cast_expression "(undefined1 *)(param_1 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (identifier "param_13")) (; ";")) (expression_statement "param_1[7] = 0xffffffff;" (assignment_expression "param_1[7] = 0xffffffff" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xd] = param_6;" (assignment_expression "param_1[0xd] = param_6" (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10;" (assignment_expression "param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (binary_expression "uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16\n                | (param_12 & 0x3f) << 0x10" (binary_expression "uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16" (binary_expression "uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18" (binary_expression "uVar1 & 0xffff | param_9 << 0x1c" (binary_expression "uVar1 & 0xffff" (identifier "uVar1") (& "&") (number_literal "0xffff")) (| "|") (binary_expression "param_9 << 0x1c" (identifier "param_9") (<< "<<") (number_literal "0x1c"))) (| "|") (binary_expression "(param_10 & 0xf) << 0x18" (parenthesized_expression "(param_10 & 0xf)" (( "(") (binary_expression "param_10 & 0xf" (identifier "param_10") (& "&") (number_literal "0xf")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(param_11 & 3) << 0x16" (parenthesized_expression "(param_11 & 3)" (( "(") (binary_expression "param_11 & 3" (identifier "param_11") (& "&") (number_literal "3")) () ")")) (<< "<<") (number_literal "0x16"))) (| "|") (binary_expression "(param_12 & 0x3f) << 0x10" (parenthesized_expression "(param_12 & 0x3f)" (( "(") (binary_expression "param_12 & 0x3f" (identifier "param_12") (& "&") (number_literal "0x3f")) () ")")) (<< "<<") (number_literal "0x10")))) (; ";")) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;" (assignment_expression "*(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102" (pointer_expression "*(ushort *)((int)param_1 + 0x2a)" (* "*") (cast_expression "(ushort *)((int)param_1 + 0x2a)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x2a)" (( "(") (binary_expression "(int)param_1 + 0x2a" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x2a")) () ")")))) (= "=") (binary_expression "(ushort)uVar1 & 0x40 | 0x2102" (binary_expression "(ushort)uVar1 & 0x40" (cast_expression "(ushort)uVar1" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar1")) (& "&") (number_literal "0x40")) (| "|") (number_literal "0x2102"))) (; ";")) (expression_statement "param_1[0xc] = param_4;" (assignment_expression "param_1[0xc] = param_4" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "param_1[0xf] = param_8;" (assignment_expression "param_1[0xf] = param_8" (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "param_8")) (; ";")) (expression_statement "param_1[0xe] = param_5;" (assignment_expression "param_1[0xe] = param_5" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_5")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "STT": Some values do not have unique names */
/* WARNING: Enum "STB": Some values do not have unique names */
/* DWARF original prototype: void init_output_data(Sized_symbol<64> * this, char * name, char *
   version, Output_data * od, Value_type value, Size_type symsize, STT type, STB binding, STV
   visibility, uchar nonvis, bool offset_is_from_end, bool is_predefined) */

void __thiscall
gold::type_1<64>::function_1
          (type_1<64> *this,char *name,char *version,type_2 *od,type_3 value,
          type_4 symsize,type_5 var_3,type_6 var_4,type_7 var_6,type_8 var_8,bool offset_is_from_end
          ,bool var_1)

{
  type_9 var_2;
  
  var_2 = *(type_9 *)&(this->super_Symbol).field_0x28;
  (this->super_Symbol).name_ = name;
  (this->super_Symbol).version_ = version;
  (this->super_Symbol).u1_.output_data = od;
  (this->super_Symbol).symtab_index_ = 0;
  (this->super_Symbol).dynsym_index_ = 0;
  (this->super_Symbol).plt_offset_ = 0xffffffff;
  (this->super_Symbol).field_0x2c =
       (this->super_Symbol).field_0x2c & 7 | (byte)((var_1 & 1) << 5);
  (this->super_Symbol).u2_.offset_is_from_end = offset_is_from_end;
  (this->super_Symbol).got_offsets_.got_type_ = 0xffffffff;
  (this->super_Symbol).got_offsets_.got_offset_ = 0;
  *(type_10 *)((int)&this->value_ + 4) = value._4_4_;
  *(type_7 *)&(this->super_Symbol).field_0x28 =
       var_2 & 0xffff | var_3 << 0x1c | (var_4 & var_5) << 0x18 |
       (var_6 & var_7) << 0x16 | (var_8 & 0x3f) << 0x10;
  (this->super_Symbol).got_offsets_.got_next_ = (type_11 *)0x0;
  *(type_12 *)&(this->super_Symbol).field_0x2a = (type_12)var_2 & 0x40 | 0x2102;
  *(type_10 *)&this->value_ = value._0_4_;
  this->symsize_ = symsize;
  return;
}


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

/* gold::Sized_symbol<64>::MASKED(char const*, char const*, gold::Output_data*, unsigned
   long long, unsigned long long, elfcpp::STT, elfcpp::STB, elfcpp::STV, unsigned char, bool, bool)
    */

void gold::Sized_symbol<64>::MASKED
               (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4_00,
               undefined4 param_4,undefined4 param_6,undefined4 param_5,undefined4 param_8,
               int param_9,uint param_10,uint param_11,byte param_12,undefined1 param_13,
               byte param_14)

{
  uint uVar1;
  
  uVar1 = param_1[10];
  *param_1 = param_2;
  param_1[1] = param_3;
  param_1[2] = param_4_00;
  param_1[4] = 0;
  param_1[5] = 0;
  param_1[6] = 0xffffffff;
  *(byte *)(param_1 + 0xb) = *(byte *)(param_1 + 0xb) & 7 | (byte)((param_14 & 1) << 5);
  *(undefined1 *)(param_1 + 3) = param_13;
  param_1[7] = 0xffffffff;
  param_1[8] = 0;
  param_1[0xd] = param_6;
  param_1[10] = uVar1 & 0xffff | param_9 << 0x1c | (param_10 & 0xf) << 0x18 | (param_11 & 3) << 0x16
                | (param_12 & 0x3f) << 0x10;
  param_1[9] = 0;
  *(ushort *)((int)param_1 + 0x2a) = (ushort)uVar1 & 0x40 | 0x2102;
  param_1[0xc] = param_4;
  param_1[0xf] = param_8;
  param_1[0xe] = param_5;
  return;
}

