
/* DWARF original prototype: void Output_merge_string(Output_merge_string<short_unsigned_int> *
   this, uint64_t addralign) */

void __thiscall
gold::Output_merge_string<short_unsigned_int>::Output_merge_string
          (Output_merge_string<short_unsigned_int> *this,uint64_t addralign)

{
  undefined1 *puVar1;
  size_type sVar2;
  Output_merge_base *pOVar3;
  
  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.offset_ = -1;
  (this->super_Output_merge_base).first_shndx_ = 0xffffffff;
  (this->super_Output_merge_base).input_sections_._M_h._M_buckets =
       &(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket;
  puVar1 = &(this->super_Output_merge_base).super_Output_section_data.super_Output_data.field_0x20;
  *puVar1 = *puVar1 & 0xe0;
  pOVar3 = &this->super_Output_merge_base;
  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;
  *(undefined4 *)&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4 = 0;
  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.address_ = 0;
  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.data_size_ = 0;
  (this->super_Output_merge_base).super_Output_section_data.output_section_ = (Output_section *)0x0;
  (this->super_Output_merge_base).super_Output_section_data.addralign_ = addralign;
  (this->super_Output_merge_base).entsize_ = 2;
  (this->super_Output_merge_base).keeps_input_sections_ = false;
  (this->super_Output_merge_base).first_relobj_ = (Relobj *)0x0;
  (this->super_Output_merge_base).input_sections_._M_h._M_single_bucket = (__bucket_type)0x0;
  (this->super_Output_merge_base).input_sections_._M_h._M_bucket_count = 1;
  (this->super_Output_merge_base).input_sections_._M_h._M_before_begin._M_nxt =
       (_Hash_node_base *)0x0;
  (this->super_Output_merge_base).input_sections_._M_h._M_element_count = 0;
  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_next_resize = 0;
  (this->super_Output_merge_base).super_Output_section_data.super_Output_data._vptr_Output_data =
       (_func_int_varargs **)&PTR__Output_merge_string_003f0498;
                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */
  Stringpool_template<short_unsigned_int>::Stringpool_template(&this->stringpool_,addralign);
  sVar2 = (this->stringpool_).string_set_._M_h._M_element_count;
  (this->merged_strings_lists_).
  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>
  ._M_impl._M_start = (pointer)0x0;
  (this->merged_strings_lists_).
  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>
  ._M_impl._M_finish = (pointer)0x0;
  (this->merged_strings_lists_).
  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>
  ._M_impl._M_end_of_storage = (pointer)0x0;
  this->input_count_ = 0;
  this->input_size_ = 0;
  if ((sVar2 == 0) && ((this->stringpool_).offset_ == 2)) {
    (this->stringpool_).zero_null_ = false;
    (this->stringpool_).offset_ = 0;
    return;
  }
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */
  do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");
}



void FUN_00282dc0(undefined8 *param_1,undefined8 param_2)

{
  param_1[3] = 0xffffffffffffffff;
  *(undefined4 *)(param_1 + 10) = 0xffffffff;
  param_1[0xb] = param_1 + 0x11;
  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;
  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;
  param_1[1] = 0;
  param_1[2] = 0;
  param_1[5] = 0;
  param_1[6] = param_2;
  param_1[7] = 2;
  *(undefined1 *)(param_1 + 8) = 0;
  param_1[9] = 0;
  param_1[0x11] = 0;
  param_1[0xc] = 1;
  param_1[0xd] = 0;
  param_1[0xe] = 0;
  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;
  param_1[0x10] = 0;
  *param_1 = &PTR_FUN_003f0498;
                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */
  FUN_00245420(param_1 + 0x12);
  param_1[0x24] = 0;
  param_1[0x25] = 0;
  param_1[0x26] = 0;
  param_1[0x27] = 0;
  param_1[0x28] = 0;
  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {
    *(undefined1 *)(param_1 + 0x21) = 0;
    param_1[0x22] = 0;
    return;
  }
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */
  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");
}


MOV RAX,-0x1
PUSH R12
PXOR XMM0,XMM0
PUSH RBP
LEA RBP,[RDI + 0x90]
PUSH RBX
MOV RBX,RDI
MOV qword ptr [RDI + 0x18],RAX
MOV dword ptr [RDI + 0x50],EAX
LEA RAX,[RDI + 0x88]
MOV qword ptr [RDI + 0x58],RAX
LEA RAX,[0x3f0498]
AND byte ptr [RDI + 0x20],0xe0
MOVUPS xmmword ptr [RDI + 0x78],XMM0
MOV qword ptr [RDI + 0x8],0x0
MOV qword ptr [RDI + 0x10],0x0
MOV qword ptr [RDI + 0x28],0x0
MOV qword ptr [RDI + 0x30],RSI
MOV qword ptr [RDI + 0x38],0x2
MOV byte ptr [RDI + 0x40],0x0
MOV qword ptr [RDI + 0x48],0x0
MOV qword ptr [RDI + 0x88],0x0
MOV qword ptr [RDI + 0x60],0x1
MOV qword ptr [RDI + 0x68],0x0
MOV qword ptr [RDI + 0x70],0x0
MOV dword ptr [RDI + 0x78],0x3f800000
MOV qword ptr [RDI + 0x80],0x0
MOV qword ptr [RDI],RAX
MOV RDI,RBP
CALL 0x00245420
CMP qword ptr [RBX + 0xa8],0x0
MOV qword ptr [RBX + 0x120],0x0
MOV qword ptr [RBX + 0x128],0x0
MOV qword ptr [RBX + 0x130],0x0
MOV qword ptr [RBX + 0x138],0x0
MOV qword ptr [RBX + 0x140],0x0
JNZ 0x00282ecc
CMP qword ptr [RBX + 0x110],0x2
JNZ 0x00282ecc
MOV byte ptr [RBX + 0x108],0x0
MOV qword ptr [RBX + 0x110],0x0
POP RBX
POP RBP
POP R12
RET
LEA RDX,[0x357630]
MOV ESI,0xcc
LEA RDI,[0x33fc96]
CALL 0x00199900
(translation_unit "void FUN_00282dc0(undefined8 *param_1,undefined8 param_2)\n\n{\n  param_1[3] = 0xffffffffffffffff;\n  *(undefined4 *)(param_1 + 10) = 0xffffffff;\n  param_1[0xb] = param_1 + 0x11;\n  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;\n  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[5] = 0;\n  param_1[6] = param_2;\n  param_1[7] = 2;\n  *(undefined1 *)(param_1 + 8) = 0;\n  param_1[9] = 0;\n  param_1[0x11] = 0;\n  param_1[0xc] = 1;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;\n  param_1[0x10] = 0;\n  *param_1 = &PTR_FUN_003f0498;\n                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */\n  FUN_00245420(param_1 + 0x12);\n  param_1[0x24] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */\n  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}\n\n" (function_definition "void FUN_00282dc0(undefined8 *param_1,undefined8 param_2)\n\n{\n  param_1[3] = 0xffffffffffffffff;\n  *(undefined4 *)(param_1 + 10) = 0xffffffff;\n  param_1[0xb] = param_1 + 0x11;\n  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;\n  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[5] = 0;\n  param_1[6] = param_2;\n  param_1[7] = 2;\n  *(undefined1 *)(param_1 + 8) = 0;\n  param_1[9] = 0;\n  param_1[0x11] = 0;\n  param_1[0xc] = 1;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;\n  param_1[0x10] = 0;\n  *param_1 = &PTR_FUN_003f0498;\n                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */\n  FUN_00245420(param_1 + 0x12);\n  param_1[0x24] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */\n  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}" primitive_type (function_declarator "FUN_00282dc0(undefined8 *param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 *param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  param_1[3] = 0xffffffffffffffff;\n  *(undefined4 *)(param_1 + 10) = 0xffffffff;\n  param_1[0xb] = param_1 + 0x11;\n  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;\n  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[5] = 0;\n  param_1[6] = param_2;\n  param_1[7] = 2;\n  *(undefined1 *)(param_1 + 8) = 0;\n  param_1[9] = 0;\n  param_1[0x11] = 0;\n  param_1[0xc] = 1;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;\n  param_1[0x10] = 0;\n  *param_1 = &PTR_FUN_003f0498;\n                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */\n  FUN_00245420(param_1 + 0x12);\n  param_1[0x24] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */\n  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}" { (expression_statement "param_1[3] = 0xffffffffffffffff;" (assignment_expression "param_1[3] = 0xffffffffffffffff" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(param_1 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(param_1 + 10)" * (cast_expression "(undefined4 *)(param_1 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0xb] = param_1 + 0x11;" (assignment_expression "param_1[0xb] = param_1 + 0x11" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x11" identifier + number_literal)) ;) (expression_statement "*(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;" (assignment_expression "*(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0" (pointer_expression "*(byte *)(param_1 + 4)" * (cast_expression "(byte *)(param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 4) & 0xe0" (pointer_expression "*(byte *)(param_1 + 4)" * (cast_expression "(byte *)(param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(param_1 + 0xf)" * (cast_expression "(undefined1 (*) [16])(param_1 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" 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] = param_2;" (assignment_expression "param_1[6] = param_2" (subscript_expression "param_1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[7] = 2;" (assignment_expression "param_1[7] = 2" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 8) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 8) = 0" (pointer_expression "*(undefined1 *)(param_1 + 8)" * (cast_expression "(undefined1 *)(param_1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" 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 "param_1[0x11] = 0;" (assignment_expression "param_1[0x11] = 0" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xc] = 1;" (assignment_expression "param_1[0xc] = 1" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xd] = 0;" (assignment_expression "param_1[0xd] = 0" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = 0;" (assignment_expression "param_1[0xe] = 0" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(param_1 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(param_1 + 0xf)" * (cast_expression "(undefined4 *)(param_1 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0x10] = 0;" (assignment_expression "param_1[0x10] = 0" (subscript_expression "param_1[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_1 = &PTR_FUN_003f0498;" (assignment_expression "*param_1 = &PTR_FUN_003f0498" (pointer_expression "*param_1" * identifier) = (pointer_expression "&PTR_FUN_003f0498" & identifier)) ;) comment (expression_statement "FUN_00245420(param_1 + 0x12);" (call_expression "FUN_00245420(param_1 + 0x12)" identifier (argument_list "(param_1 + 0x12)" ( (binary_expression "param_1 + 0x12" identifier + number_literal) ))) ;) (expression_statement "param_1[0x24] = 0;" (assignment_expression "param_1[0x24] = 0" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x25] = 0;" (assignment_expression "param_1[0x25] = 0" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x27] = 0;" (assignment_expression "param_1[0x27] = 0" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x28] = 0;" (assignment_expression "param_1[0x28] = 0" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }" if (parenthesized_expression "((param_1[0x15] == 0) && (param_1[0x22] == 2))" ( (binary_expression "(param_1[0x15] == 0) && (param_1[0x22] == 2)" (parenthesized_expression "(param_1[0x15] == 0)" ( (binary_expression "param_1[0x15] == 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(param_1[0x22] == 2)" ( (binary_expression "param_1[0x22] == 2" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x21) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x21) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x21)" * (cast_expression "(undefined1 *)(param_1 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0x22] = 0;" (assignment_expression "param_1[0x22] = 0" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) comment comment (expression_statement "FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })))
(translation_unit "/* DWARF original prototype: void Output_merge_string(Output_merge_string<short_unsigned_int> *\n   this, uint64_t addralign) */\n\nvoid __thiscall\ngold::Output_merge_string<short_unsigned_int>::Output_merge_string\n          (Output_merge_string<short_unsigned_int> *this,uint64_t addralign)\n\n{\n  undefined1 *puVar1;\n  size_type sVar2;\n  Output_merge_base *pOVar3;\n  \n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.offset_ = -1;\n  (this->super_Output_merge_base).first_shndx_ = 0xffffffff;\n  (this->super_Output_merge_base).input_sections_._M_h._M_buckets =\n       &(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket;\n  puVar1 = &(this->super_Output_merge_base).super_Output_section_data.super_Output_data.field_0x20;\n  *puVar1 = *puVar1 & 0xe0;\n  pOVar3 = &this->super_Output_merge_base;\n  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;\n  *(undefined4 *)&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4 = 0;\n  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.address_ = 0;\n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.data_size_ = 0;\n  (this->super_Output_merge_base).super_Output_section_data.output_section_ = (Output_section *)0x0;\n  (this->super_Output_merge_base).super_Output_section_data.addralign_ = addralign;\n  (this->super_Output_merge_base).entsize_ = 2;\n  (this->super_Output_merge_base).keeps_input_sections_ = false;\n  (this->super_Output_merge_base).first_relobj_ = (Relobj *)0x0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_bucket_count = 1;\n  (this->super_Output_merge_base).input_sections_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_element_count = 0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data._vptr_Output_data =\n       (_func_int_varargs **)&PTR__Output_merge_string_003f0498;\n                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */\n  Stringpool_template<short_unsigned_int>::Stringpool_template(&this->stringpool_,addralign);\n  sVar2 = (this->stringpool_).string_set_._M_h._M_element_count;\n  (this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_start = (pointer)0x0;\n  (this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  (this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  this->input_count_ = 0;\n  this->input_size_ = 0;\n  if ((sVar2 == 0) && ((this->stringpool_).offset_ == 2)) {\n    (this->stringpool_).zero_null_ = false;\n    (this->stringpool_).offset_ = 0;\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */\n  do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}\n\n" comment (function_definition "void __thiscall\ngold::Output_merge_string<short_unsigned_int>::Output_merge_string\n          (Output_merge_string<short_unsigned_int> *this,uint64_t addralign)\n\n{\n  undefined1 *puVar1;\n  size_type sVar2;\n  Output_merge_base *pOVar3;\n  \n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.offset_ = -1;\n  (this->super_Output_merge_base).first_shndx_ = 0xffffffff;\n  (this->super_Output_merge_base).input_sections_._M_h._M_buckets =\n       &(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket;\n  puVar1 = &(this->super_Output_merge_base).super_Output_section_data.super_Output_data.field_0x20;\n  *puVar1 = *puVar1 & 0xe0;\n  pOVar3 = &this->super_Output_merge_base;\n  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;\n  *(undefined4 *)&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4 = 0;\n  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.address_ = 0;\n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.data_size_ = 0;\n  (this->super_Output_merge_base).super_Output_section_data.output_section_ = (Output_section *)0x0;\n  (this->super_Output_merge_base).super_Output_section_data.addralign_ = addralign;\n  (this->super_Output_merge_base).entsize_ = 2;\n  (this->super_Output_merge_base).keeps_input_sections_ = false;\n  (this->super_Output_merge_base).first_relobj_ = (Relobj *)0x0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_bucket_count = 1;\n  (this->super_Output_merge_base).input_sections_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_element_count = 0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data._vptr_Output_data =\n       (_func_int_varargs **)&PTR__Output_merge_string_003f0498;\n                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */\n  Stringpool_template<short_unsigned_int>::Stringpool_template(&this->stringpool_,addralign);\n  sVar2 = (this->stringpool_).string_set_._M_h._M_element_count;\n  (this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_start = (pointer)0x0;\n  (this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  (this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  this->input_count_ = 0;\n  this->input_size_ = 0;\n  if ((sVar2 == 0) && ((this->stringpool_).offset_ == 2)) {\n    (this->stringpool_).zero_null_ = false;\n    (this->stringpool_).offset_ = 0;\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */\n  do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_merge_string<short_unsigned_int>::" identifier : : identifier < identifier > : :) (function_declarator "Output_merge_string\n          (Output_merge_string<short_unsigned_int> *this,uint64_t addralign)" identifier (parameter_list "(Output_merge_string<short_unsigned_int> *this,uint64_t addralign)" ( (parameter_declaration "Output_merge_string<short_unsigned_int> *this" type_identifier (ERROR "<short_unsigned_int>" < identifier >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint64_t addralign" primitive_type identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  size_type sVar2;\n  Output_merge_base *pOVar3;\n  \n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.offset_ = -1;\n  (this->super_Output_merge_base).first_shndx_ = 0xffffffff;\n  (this->super_Output_merge_base).input_sections_._M_h._M_buckets =\n       &(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket;\n  puVar1 = &(this->super_Output_merge_base).super_Output_section_data.super_Output_data.field_0x20;\n  *puVar1 = *puVar1 & 0xe0;\n  pOVar3 = &this->super_Output_merge_base;\n  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;\n  *(undefined4 *)&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4 = 0;\n  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.address_ = 0;\n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.data_size_ = 0;\n  (this->super_Output_merge_base).super_Output_section_data.output_section_ = (Output_section *)0x0;\n  (this->super_Output_merge_base).super_Output_section_data.addralign_ = addralign;\n  (this->super_Output_merge_base).entsize_ = 2;\n  (this->super_Output_merge_base).keeps_input_sections_ = false;\n  (this->super_Output_merge_base).first_relobj_ = (Relobj *)0x0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_single_bucket = (__bucket_type)0x0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_bucket_count = 1;\n  (this->super_Output_merge_base).input_sections_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_element_count = 0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->super_Output_merge_base).super_Output_section_data.super_Output_data._vptr_Output_data =\n       (_func_int_varargs **)&PTR__Output_merge_string_003f0498;\n                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */\n  Stringpool_template<short_unsigned_int>::Stringpool_template(&this->stringpool_,addralign);\n  sVar2 = (this->stringpool_).string_set_._M_h._M_element_count;\n  (this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_start = (pointer)0x0;\n  (this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  (this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  this->input_count_ = 0;\n  this->input_size_ = 0;\n  if ((sVar2 == 0) && ((this->stringpool_).offset_ == 2)) {\n    (this->stringpool_).zero_null_ = false;\n    (this->stringpool_).offset_ = 0;\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */\n  do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "size_type sVar2;" type_identifier identifier ;) (declaration "Output_merge_base *pOVar3;" type_identifier (pointer_declarator "*pOVar3" * identifier) ;) (expression_statement "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.offset_ = -1;" (assignment_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.offset_ = -1" (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.offset_" (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data" (field_expression "(this->super_Output_merge_base).super_Output_section_data" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).first_shndx_ = 0xffffffff;" (assignment_expression "(this->super_Output_merge_base).first_shndx_ = 0xffffffff" (field_expression "(this->super_Output_merge_base).first_shndx_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).input_sections_._M_h._M_buckets =\n       &(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket;" (assignment_expression "(this->super_Output_merge_base).input_sections_._M_h._M_buckets =\n       &(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_buckets" (field_expression "(this->super_Output_merge_base).input_sections_._M_h" (field_expression "(this->super_Output_merge_base).input_sections_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket" & (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket" (field_expression "(this->super_Output_merge_base).input_sections_._M_h" (field_expression "(this->super_Output_merge_base).input_sections_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "puVar1 = &(this->super_Output_merge_base).super_Output_section_data.super_Output_data.field_0x20;" (assignment_expression "puVar1 = &(this->super_Output_merge_base).super_Output_section_data.super_Output_data.field_0x20" identifier = (pointer_expression "&(this->super_Output_merge_base).super_Output_section_data.super_Output_data.field_0x20" & (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.field_0x20" (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data" (field_expression "(this->super_Output_merge_base).super_Output_section_data" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 & 0xe0;" (assignment_expression "*puVar1 = *puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) & number_literal)) ;) (expression_statement "pOVar3 = &this->super_Output_merge_base;" (assignment_expression "pOVar3 = &this->super_Output_merge_base" identifier = (pointer_expression "&this->super_Output_merge_base" & (field_expression "this->super_Output_merge_base" identifier -> field_identifier))) ;) (expression_statement "(pOVar3->input_sections_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;" (assignment_expression "(pOVar3->input_sections_)._M_h._M_rehash_policy._M_max_load_factor = 0.0" (field_expression "(pOVar3->input_sections_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(pOVar3->input_sections_)._M_h._M_rehash_policy" (field_expression "(pOVar3->input_sections_)._M_h" (parenthesized_expression "(pOVar3->input_sections_)" ( (field_expression "pOVar3->input_sections_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4 = 0;" (assignment_expression "*(undefined4 *)&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4 = 0" (pointer_expression "*(undefined4 *)&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4" * (cast_expression "(undefined4 *)&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4" & (field_expression "(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4" (field_expression "(pOVar3->input_sections_)._M_h._M_rehash_policy" (field_expression "(pOVar3->input_sections_)._M_h" (parenthesized_expression "(pOVar3->input_sections_)" ( (field_expression "pOVar3->input_sections_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "(pOVar3->input_sections_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(pOVar3->input_sections_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(pOVar3->input_sections_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(pOVar3->input_sections_)._M_h._M_rehash_policy" (field_expression "(pOVar3->input_sections_)._M_h" (parenthesized_expression "(pOVar3->input_sections_)" ( (field_expression "pOVar3->input_sections_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.address_ = 0;" (assignment_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.address_ = 0" (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.address_" (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data" (field_expression "(this->super_Output_merge_base).super_Output_section_data" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.data_size_ = 0;" (assignment_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.data_size_ = 0" (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data.data_size_" (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data" (field_expression "(this->super_Output_merge_base).super_Output_section_data" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).super_Output_section_data.output_section_ = (Output_section *)0x0;" (assignment_expression "(this->super_Output_merge_base).super_Output_section_data.output_section_ = (Output_section *)0x0" (field_expression "(this->super_Output_merge_base).super_Output_section_data.output_section_" (field_expression "(this->super_Output_merge_base).super_Output_section_data" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->super_Output_merge_base).super_Output_section_data.addralign_ = addralign;" (assignment_expression "(this->super_Output_merge_base).super_Output_section_data.addralign_ = addralign" (field_expression "(this->super_Output_merge_base).super_Output_section_data.addralign_" (field_expression "(this->super_Output_merge_base).super_Output_section_data" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(this->super_Output_merge_base).entsize_ = 2;" (assignment_expression "(this->super_Output_merge_base).entsize_ = 2" (field_expression "(this->super_Output_merge_base).entsize_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).keeps_input_sections_ = false;" (assignment_expression "(this->super_Output_merge_base).keeps_input_sections_ = false" (field_expression "(this->super_Output_merge_base).keeps_input_sections_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "(this->super_Output_merge_base).first_relobj_ = (Relobj *)0x0;" (assignment_expression "(this->super_Output_merge_base).first_relobj_ = (Relobj *)0x0" (field_expression "(this->super_Output_merge_base).first_relobj_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket" (field_expression "(this->super_Output_merge_base).input_sections_._M_h" (field_expression "(this->super_Output_merge_base).input_sections_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "(this->super_Output_merge_base).input_sections_._M_h._M_bucket_count = 1;" (assignment_expression "(this->super_Output_merge_base).input_sections_._M_h._M_bucket_count = 1" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_bucket_count" (field_expression "(this->super_Output_merge_base).input_sections_._M_h" (field_expression "(this->super_Output_merge_base).input_sections_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).input_sections_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0;" (assignment_expression "(this->super_Output_merge_base).input_sections_._M_h._M_before_begin._M_nxt =\n       (_Hash_node_base *)0x0" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_before_begin._M_nxt" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_before_begin" (field_expression "(this->super_Output_merge_base).input_sections_._M_h" (field_expression "(this->super_Output_merge_base).input_sections_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->super_Output_merge_base).input_sections_._M_h._M_element_count = 0;" (assignment_expression "(this->super_Output_merge_base).input_sections_._M_h._M_element_count = 0" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_element_count" (field_expression "(this->super_Output_merge_base).input_sections_._M_h" (field_expression "(this->super_Output_merge_base).input_sections_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy" (field_expression "(this->super_Output_merge_base).input_sections_._M_h" (field_expression "(this->super_Output_merge_base).input_sections_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy" (field_expression "(this->super_Output_merge_base).input_sections_._M_h" (field_expression "(this->super_Output_merge_base).input_sections_" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->super_Output_merge_base).super_Output_section_data.super_Output_data._vptr_Output_data =\n       (_func_int_varargs **)&PTR__Output_merge_string_003f0498;" (assignment_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data._vptr_Output_data =\n       (_func_int_varargs **)&PTR__Output_merge_string_003f0498" (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data._vptr_Output_data" (field_expression "(this->super_Output_merge_base).super_Output_section_data.super_Output_data" (field_expression "(this->super_Output_merge_base).super_Output_section_data" (parenthesized_expression "(this->super_Output_merge_base)" ( (field_expression "this->super_Output_merge_base" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Output_merge_string_003f0498" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Output_merge_string_003f0498" & identifier))) ;) comment (expression_statement "Stringpool_template<short_unsigned_int>::Stringpool_template(&this->stringpool_,addralign);" (binary_expression "Stringpool_template<short_unsigned_int>::Stringpool_template(&this->stringpool_,addralign)" (binary_expression "Stringpool_template<short_unsigned_int" identifier < identifier) > (ERROR "::" : :) (call_expression "Stringpool_template(&this->stringpool_,addralign)" identifier (argument_list "(&this->stringpool_,addralign)" ( (pointer_expression "&this->stringpool_" & (field_expression "this->stringpool_" identifier -> field_identifier)) , identifier )))) ;) (expression_statement "sVar2 = (this->stringpool_).string_set_._M_h._M_element_count;" (assignment_expression "sVar2 = (this->stringpool_).string_set_._M_h._M_element_count" identifier = (field_expression "(this->stringpool_).string_set_._M_h._M_element_count" (field_expression "(this->stringpool_).string_set_._M_h" (field_expression "(this->stringpool_).string_set_" (parenthesized_expression "(this->stringpool_)" ( (field_expression "this->stringpool_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (ERROR "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::" (comma_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std" (binary_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list" (binary_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int" (binary_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold" (field_expression "(this->merged_strings_lists_).\n  super__Vector_base" (parenthesized_expression "(this->merged_strings_lists_)" ( (field_expression "this->merged_strings_lists_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_merge_string" : : identifier) < identifier) > (ERROR "::" : :) identifier) (ERROR "*" *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_start = (pointer)0x0" (field_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_start" (field_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl" (binary_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_" (binary_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list" (binary_expression "Output_merge_string<short_unsigned_int" identifier < identifier) > (ERROR "::" : :) identifier) (ERROR "*" *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::" (comma_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std" (binary_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list" (binary_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int" (binary_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold" (field_expression "(this->merged_strings_lists_).\n  super__Vector_base" (parenthesized_expression "(this->merged_strings_lists_)" ( (field_expression "this->merged_strings_lists_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_merge_string" : : identifier) < identifier) > (ERROR "::" : :) identifier) (ERROR "*" *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_finish = (pointer)0x0" (field_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_finish" (field_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl" (binary_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_" (binary_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list" (binary_expression "Output_merge_string<short_unsigned_int" identifier < identifier) > (ERROR "::" : :) identifier) (ERROR "*" *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std::allocator<gold::" (comma_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list*,_std" (binary_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int>::Merged_strings_list" (binary_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold::Output_merge_string<short_unsigned_int" (binary_expression "(this->merged_strings_lists_).\n  super__Vector_base<gold" (field_expression "(this->merged_strings_lists_).\n  super__Vector_base" (parenthesized_expression "(this->merged_strings_lists_)" ( (field_expression "this->merged_strings_lists_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_merge_string" : : identifier) < identifier) > (ERROR "::" : :) identifier) (ERROR "*" *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl._M_end_of_storage" (field_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_>\n  ._M_impl" (binary_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list*>_" (binary_expression "Output_merge_string<short_unsigned_int>::Merged_strings_list" (binary_expression "Output_merge_string<short_unsigned_int" identifier < identifier) > (ERROR "::" : :) identifier) (ERROR "*" *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "this->input_count_ = 0;" (assignment_expression "this->input_count_ = 0" (field_expression "this->input_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "this->input_size_ = 0;" (assignment_expression "this->input_size_ = 0" (field_expression "this->input_size_" identifier -> field_identifier) = number_literal) ;) (if_statement "if ((sVar2 == 0) && ((this->stringpool_).offset_ == 2)) {\n    (this->stringpool_).zero_null_ = false;\n    (this->stringpool_).offset_ = 0;\n    return;\n  }" if (parenthesized_expression "((sVar2 == 0) && ((this->stringpool_).offset_ == 2))" ( (binary_expression "(sVar2 == 0) && ((this->stringpool_).offset_ == 2)" (parenthesized_expression "(sVar2 == 0)" ( (binary_expression "sVar2 == 0" identifier == number_literal) )) && (parenthesized_expression "((this->stringpool_).offset_ == 2)" ( (binary_expression "(this->stringpool_).offset_ == 2" (field_expression "(this->stringpool_).offset_" (parenthesized_expression "(this->stringpool_)" ( (field_expression "this->stringpool_" identifier -> field_identifier) )) . field_identifier) == number_literal) ))) )) (compound_statement "{\n    (this->stringpool_).zero_null_ = false;\n    (this->stringpool_).offset_ = 0;\n    return;\n  }" { (expression_statement "(this->stringpool_).zero_null_ = false;" (assignment_expression "(this->stringpool_).zero_null_ = false" (field_expression "(this->stringpool_).zero_null_" (parenthesized_expression "(this->stringpool_)" ( (field_expression "this->stringpool_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "(this->stringpool_).offset_ = 0;" (assignment_expression "(this->stringpool_).offset_ = 0" (field_expression "(this->stringpool_).offset_" (parenthesized_expression "(this->stringpool_)" ( (field_expression "this->stringpool_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (return_statement "return;" return ;) })) comment comment (expression_statement "do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })))
(translation_unit "void FUN_00282dc0(undefined8 *param_1,undefined8 param_2)\n\n{\n  param_1[3] = 0xffffffffffffffff;\n  *(undefined4 *)(param_1 + 10) = 0xffffffff;\n  param_1[0xb] = param_1 + 0x11;\n  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;\n  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[5] = 0;\n  param_1[6] = param_2;\n  param_1[7] = 2;\n  *(undefined1 *)(param_1 + 8) = 0;\n  param_1[9] = 0;\n  param_1[0x11] = 0;\n  param_1[0xc] = 1;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;\n  param_1[0x10] = 0;\n  *param_1 = &PTR_FUN_003f0498;\n                    \n  FUN_00245420(param_1 + 0x12);\n  param_1[0x24] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }\n                    \n                    \n  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}\n\n" (function_definition "void FUN_00282dc0(undefined8 *param_1,undefined8 param_2)\n\n{\n  param_1[3] = 0xffffffffffffffff;\n  *(undefined4 *)(param_1 + 10) = 0xffffffff;\n  param_1[0xb] = param_1 + 0x11;\n  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;\n  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[5] = 0;\n  param_1[6] = param_2;\n  param_1[7] = 2;\n  *(undefined1 *)(param_1 + 8) = 0;\n  param_1[9] = 0;\n  param_1[0x11] = 0;\n  param_1[0xc] = 1;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;\n  param_1[0x10] = 0;\n  *param_1 = &PTR_FUN_003f0498;\n                    \n  FUN_00245420(param_1 + 0x12);\n  param_1[0x24] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }\n                    \n                    \n  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}" primitive_type (function_declarator "FUN_00282dc0(undefined8 *param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 *param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  param_1[3] = 0xffffffffffffffff;\n  *(undefined4 *)(param_1 + 10) = 0xffffffff;\n  param_1[0xb] = param_1 + 0x11;\n  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;\n  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[5] = 0;\n  param_1[6] = param_2;\n  param_1[7] = 2;\n  *(undefined1 *)(param_1 + 8) = 0;\n  param_1[9] = 0;\n  param_1[0x11] = 0;\n  param_1[0xc] = 1;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;\n  param_1[0x10] = 0;\n  *param_1 = &PTR_FUN_003f0498;\n                    \n  FUN_00245420(param_1 + 0x12);\n  param_1[0x24] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }\n                    \n                    \n  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}" { (expression_statement "param_1[3] = 0xffffffffffffffff;" (assignment_expression "param_1[3] = 0xffffffffffffffff" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(param_1 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(param_1 + 10)" * (cast_expression "(undefined4 *)(param_1 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0xb] = param_1 + 0x11;" (assignment_expression "param_1[0xb] = param_1 + 0x11" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (binary_expression "param_1 + 0x11" identifier + number_literal)) ;) (expression_statement "*(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;" (assignment_expression "*(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0" (pointer_expression "*(byte *)(param_1 + 4)" * (cast_expression "(byte *)(param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 4) & 0xe0" (pointer_expression "*(byte *)(param_1 + 4)" * (cast_expression "(byte *)(param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(param_1 + 0xf)" * (cast_expression "(undefined1 (*) [16])(param_1 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" 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] = param_2;" (assignment_expression "param_1[6] = param_2" (subscript_expression "param_1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[7] = 2;" (assignment_expression "param_1[7] = 2" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 8) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 8) = 0" (pointer_expression "*(undefined1 *)(param_1 + 8)" * (cast_expression "(undefined1 *)(param_1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" 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 "param_1[0x11] = 0;" (assignment_expression "param_1[0x11] = 0" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xc] = 1;" (assignment_expression "param_1[0xc] = 1" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xd] = 0;" (assignment_expression "param_1[0xd] = 0" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = 0;" (assignment_expression "param_1[0xe] = 0" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(param_1 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(param_1 + 0xf)" * (cast_expression "(undefined4 *)(param_1 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0x10] = 0;" (assignment_expression "param_1[0x10] = 0" (subscript_expression "param_1[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_1 = &PTR_FUN_003f0498;" (assignment_expression "*param_1 = &PTR_FUN_003f0498" (pointer_expression "*param_1" * identifier) = (pointer_expression "&PTR_FUN_003f0498" & identifier)) ;) (expression_statement "FUN_00245420(param_1 + 0x12);" (call_expression "FUN_00245420(param_1 + 0x12)" identifier (argument_list "(param_1 + 0x12)" ( (binary_expression "param_1 + 0x12" identifier + number_literal) ))) ;) (expression_statement "param_1[0x24] = 0;" (assignment_expression "param_1[0x24] = 0" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x25] = 0;" (assignment_expression "param_1[0x25] = 0" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x27] = 0;" (assignment_expression "param_1[0x27] = 0" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x28] = 0;" (assignment_expression "param_1[0x28] = 0" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }" if (parenthesized_expression "((param_1[0x15] == 0) && (param_1[0x22] == 2))" ( (binary_expression "(param_1[0x15] == 0) && (param_1[0x22] == 2)" (parenthesized_expression "(param_1[0x15] == 0)" ( (binary_expression "param_1[0x15] == 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(param_1[0x22] == 2)" ( (binary_expression "param_1[0x22] == 2" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }" { (expression_statement "*(undefined1 *)(param_1 + 0x21) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x21) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x21)" * (cast_expression "(undefined1 *)(param_1 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0x22] = 0;" (assignment_expression "param_1[0x22] = 0" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_array_declarator (abstract_parenthesized_declarator ( (abstract_pointer_declarator *) )) [ LIT ])) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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) )))) = LIT) ;) (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 (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) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_00282dc0(undefined8 *param_1,undefined8 param_2)\n\n{\n  param_1[3] = 0xffffffffffffffff;\n  *(undefined4 *)(param_1 + 10) = 0xffffffff;\n  param_1[0xb] = param_1 + 0x11;\n  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;\n  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[5] = 0;\n  param_1[6] = param_2;\n  param_1[7] = 2;\n  *(undefined1 *)(param_1 + 8) = 0;\n  param_1[9] = 0;\n  param_1[0x11] = 0;\n  param_1[0xc] = 1;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;\n  param_1[0x10] = 0;\n  *param_1 = &PTR_FUN_003f0498;\n                    \n  FUN_00245420(param_1 + 0x12);\n  param_1[0x24] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }\n                    \n                    \n  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}" (primitive_type "void") (function_declarator "FUN_00282dc0(undefined8 *param_1,undefined8 param_2)" (identifier "FUN_00282dc0") (parameter_list "(undefined8 *param_1,undefined8 param_2)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  param_1[3] = 0xffffffffffffffff;\n  *(undefined4 *)(param_1 + 10) = 0xffffffff;\n  param_1[0xb] = param_1 + 0x11;\n  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;\n  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[5] = 0;\n  param_1[6] = param_2;\n  param_1[7] = 2;\n  *(undefined1 *)(param_1 + 8) = 0;\n  param_1[9] = 0;\n  param_1[0x11] = 0;\n  param_1[0xc] = 1;\n  param_1[0xd] = 0;\n  param_1[0xe] = 0;\n  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;\n  param_1[0x10] = 0;\n  *param_1 = &PTR_FUN_003f0498;\n                    \n  FUN_00245420(param_1 + 0x12);\n  param_1[0x24] = 0;\n  param_1[0x25] = 0;\n  param_1[0x26] = 0;\n  param_1[0x27] = 0;\n  param_1[0x28] = 0;\n  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }\n                    \n                    \n  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n}" ({ "{") (expression_statement "param_1[3] = 0xffffffffffffffff;" (assignment_expression "param_1[3] = 0xffffffffffffffff" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(param_1 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(param_1 + 10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "param_1[0xb] = param_1 + 0x11;" (assignment_expression "param_1[0xb] = param_1 + 0x11" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (binary_expression "param_1 + 0x11" (identifier "param_1") (+ "+") (number_literal "0x11"))) (; ";")) (expression_statement "*(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;" (assignment_expression "*(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0" (pointer_expression "*(byte *)(param_1 + 4)" (* "*") (cast_expression "(byte *)(param_1 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(byte *)(param_1 + 4) & 0xe0" (pointer_expression "*(byte *)(param_1 + 4)" (* "*") (cast_expression "(byte *)(param_1 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "*(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(param_1 + 0xf)" (* "*") (cast_expression "(undefined1 (*) [16])(param_1 + 0xf)" (( "(") (type_descriptor "undefined1 (*) [16]" (type_identifier "undefined1") (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" (( "(") (abstract_pointer_declarator "*" (* "*")) () ")")) ([ "[") (number_literal "16") (] "]"))) () ")") (parenthesized_expression "(param_1 + 0xf)" (( "(") (binary_expression "param_1 + 0xf" (identifier "param_1") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (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] = param_2;" (assignment_expression "param_1[6] = param_2" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "param_1[7] = 2;" (assignment_expression "param_1[7] = 2" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 8) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 8) = 0" (pointer_expression "*(undefined1 *)(param_1 + 8)" (* "*") (cast_expression "(undefined1 *)(param_1 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (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 "param_1[0x11] = 0;" (assignment_expression "param_1[0x11] = 0" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xc] = 1;" (assignment_expression "param_1[0xc] = 1" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0xd] = 0;" (assignment_expression "param_1[0xd] = 0" (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xe] = 0;" (assignment_expression "param_1[0xe] = 0" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(param_1 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(param_1 + 0xf)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xf)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf)" (( "(") (binary_expression "param_1 + 0xf" (identifier "param_1") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "param_1[0x10] = 0;" (assignment_expression "param_1[0x10] = 0" (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_1 = &PTR_FUN_003f0498;" (assignment_expression "*param_1 = &PTR_FUN_003f0498" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (pointer_expression "&PTR_FUN_003f0498" (& "&") (identifier "PTR_FUN_003f0498"))) (; ";")) (expression_statement "FUN_00245420(param_1 + 0x12);" (call_expression "FUN_00245420(param_1 + 0x12)" (identifier "FUN_00245420") (argument_list "(param_1 + 0x12)" (( "(") (binary_expression "param_1 + 0x12" (identifier "param_1") (+ "+") (number_literal "0x12")) () ")"))) (; ";")) (expression_statement "param_1[0x24] = 0;" (assignment_expression "param_1[0x24] = 0" (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x25] = 0;" (assignment_expression "param_1[0x25] = 0" (subscript_expression "param_1[0x25]" (identifier "param_1") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x27] = 0;" (assignment_expression "param_1[0x27] = 0" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x28] = 0;" (assignment_expression "param_1[0x28] = 0" (subscript_expression "param_1[0x28]" (identifier "param_1") ([ "[") (number_literal "0x28") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }" (if "if") (parenthesized_expression "((param_1[0x15] == 0) && (param_1[0x22] == 2))" (( "(") (binary_expression "(param_1[0x15] == 0) && (param_1[0x22] == 2)" (parenthesized_expression "(param_1[0x15] == 0)" (( "(") (binary_expression "param_1[0x15] == 0" (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_1[0x22] == 2)" (( "(") (binary_expression "param_1[0x22] == 2" (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]")) (== "==") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n    *(undefined1 *)(param_1 + 0x21) = 0;\n    param_1[0x22] = 0;\n    return;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x21) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x21) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x21)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x21)" (( "(") (binary_expression "param_1 + 0x21" (identifier "param_1") (+ "+") (number_literal "0x21")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x22] = 0;" (assignment_expression "param_1[0x22] = 0" (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null")" (identifier "FUN_00199900") (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" (( "(") (string_literal ""../../gold/stringpool.h"" (" """) (string_content "../../gold/stringpool.h") (" """)) (, ",") (number_literal "0xcc") (, ",") (string_literal ""set_no_zero_null"" (" """) (string_content "set_no_zero_null") (" """)) () ")"))) (; ";")) (} "}")))

/* DWARF original prototype: void Output_merge_string(Output_merge_string<short_unsigned_int> *
   this, uint64_t addralign) */

void __thiscall
gold::function_1<var_2>::function_1
          (function_1<var_2> *this,uint64_t addralign)

{
  type_1 *puVar1;
  type_2 var_5;
  type_3 *pOVar3;
  
  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.offset_ = -1;
  (this->super_Output_merge_base).first_shndx_ = 0xffffffff;
  (this->super_Output_merge_base).input_sections_._M_h._M_buckets =
       &(this->super_Output_merge_base).input_sections_._M_h._M_single_bucket;
  puVar1 = &(this->super_Output_merge_base).super_Output_section_data.super_Output_data.field_0x20;
  *puVar1 = *puVar1 & 0xe0;
  pOVar3 = &this->super_Output_merge_base;
  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;
  *(type_4 *)&(pOVar3->input_sections_)._M_h._M_rehash_policy.field_0x4 = 0;
  (pOVar3->input_sections_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.address_ = 0;
  (this->super_Output_merge_base).super_Output_section_data.super_Output_data.data_size_ = 0;
  (this->super_Output_merge_base).super_Output_section_data.output_section_ = (type_5 *)0x0;
  (this->super_Output_merge_base).super_Output_section_data.addralign_ = addralign;
  (this->super_Output_merge_base).entsize_ = 2;
  (this->super_Output_merge_base).keeps_input_sections_ = false;
  (this->super_Output_merge_base).first_relobj_ = (type_6 *)0x0;
  (this->super_Output_merge_base).input_sections_._M_h._M_single_bucket = (type_7)0x0;
  (this->super_Output_merge_base).input_sections_._M_h._M_bucket_count = 1;
  (this->super_Output_merge_base).input_sections_._M_h._M_before_begin._M_nxt =
       (type_8 *)0x0;
  (this->super_Output_merge_base).input_sections_._M_h._M_element_count = 0;
  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->super_Output_merge_base).input_sections_._M_h._M_rehash_policy._M_next_resize = 0;
  (this->super_Output_merge_base).super_Output_section_data.super_Output_data._vptr_Output_data =
       (type_9 **)&PTR__Output_merge_string_003f0498;
                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */
  var_1<var_2>::var_1(&this->stringpool_,addralign);
  var_5 = (this->stringpool_).string_set_._M_h._M_element_count;
  (this->merged_strings_lists_).
  super__Vector_base<gold::function_1<var_2>::var_3*,_std::allocator<gold::function_1<var_2>::var_3*>var_4>
  ._M_impl._M_start = (type_10)0x0;
  (this->merged_strings_lists_).
  super__Vector_base<gold::function_1<var_2>::var_3*,_std::allocator<gold::function_1<var_2>::var_3*>var_4>
  ._M_impl._M_finish = (type_10)0x0;
  (this->merged_strings_lists_).
  super__Vector_base<gold::function_1<var_2>::var_3*,_std::allocator<gold::function_1<var_2>::var_3*>var_4>
  ._M_impl._M_end_of_storage = (type_10)0x0;
  this->input_count_ = 0;
  this->input_size_ = 0;
  if ((var_5 == 0) && ((this->stringpool_).offset_ == 2)) {
    (this->stringpool_).zero_null_ = false;
    (this->stringpool_).offset_ = 0;
    return;
  }
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */
  var_6("../../gold/stringpool.h",0xcc,"set_no_zero_null");
}


(translation_unit (function_definition type: (primitive_type) 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)))) body: (compound_statement (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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) 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: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator declarator: (abstract_parenthesized_declarator (abstract_pointer_declarator)) size: (number_literal))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (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: (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: (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: (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: (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: (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: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) 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: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))

void MASKED(undefined8 *param_1,undefined8 param_2)

{
  param_1[3] = 0xffffffffffffffff;
  *(undefined4 *)(param_1 + 10) = 0xffffffff;
  param_1[0xb] = param_1 + 0x11;
  *(byte *)(param_1 + 4) = *(byte *)(param_1 + 4) & 0xe0;
  *(undefined1 (*) [16])(param_1 + 0xf) = (undefined1  [16])0x0;
  param_1[1] = 0;
  param_1[2] = 0;
  param_1[5] = 0;
  param_1[6] = param_2;
  param_1[7] = 2;
  *(undefined1 *)(param_1 + 8) = 0;
  param_1[9] = 0;
  param_1[0x11] = 0;
  param_1[0xc] = 1;
  param_1[0xd] = 0;
  param_1[0xe] = 0;
  *(undefined4 *)(param_1 + 0xf) = 0x3f800000;
  param_1[0x10] = 0;
  *param_1 = &PTR_FUN_003f0498;
                    /* try { // try from 00282e65 to 00282e69 has its CatchHandler @ 00282ee4 */
  FUN_00245420(param_1 + 0x12);
  param_1[0x24] = 0;
  param_1[0x25] = 0;
  param_1[0x26] = 0;
  param_1[0x27] = 0;
  param_1[0x28] = 0;
  if ((param_1[0x15] == 0) && (param_1[0x22] == 2)) {
    *(undefined1 *)(param_1 + 0x21) = 0;
    param_1[0x22] = 0;
    return;
  }
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00282edf to 00282ee3 has its CatchHandler @ 00282ee9 */
  FUN_00199900("../../gold/stringpool.h",0xcc,"set_no_zero_null");
}

