
/* WARNING: Removing unreachable block (ram,0x000aec4c) */
/* WARNING: Removing unreachable block (ram,0x000aec60) */
/* WARNING: Removing unreachable block (ram,0x000aed2c) */
/* WARNING: Removing unreachable block (ram,0x000aed48) */
/* WARNING: Removing unreachable block (ram,0x000aed58) */
/* WARNING: Removing unreachable block (ram,0x000aee90) */
/* WARNING: Removing unreachable block (ram,0x000aeec8) */
/* WARNING: Removing unreachable block (ram,0x000aef40) */
/* WARNING: Removing unreachable block (ram,0x000aeffc) */
/* WARNING: Removing unreachable block (ram,0x000af00c) */
/* WARNING: Removing unreachable block (ram,0x000af014) */
/* WARNING: Removing unreachable block (ram,0x000af020) */
/* WARNING: Removing unreachable block (ram,0x000aef58) */
/* WARNING: Removing unreachable block (ram,0x000aef64) */
/* WARNING: Removing unreachable block (ram,0x000aefe0) */
/* WARNING: Removing unreachable block (ram,0x000aefe4) */
/* WARNING: Removing unreachable block (ram,0x000af038) */
/* WARNING: Removing unreachable block (ram,0x000af380) */
/* WARNING: Removing unreachable block (ram,0x000af398) */
/* WARNING: Removing unreachable block (ram,0x000af044) */
/* WARNING: Removing unreachable block (ram,0x000af378) */
/* WARNING: Removing unreachable block (ram,0x000af054) */
/* WARNING: Removing unreachable block (ram,0x000af058) */
/* WARNING: Removing unreachable block (ram,0x000af400) */
/* WARNING: Removing unreachable block (ram,0x000af0e8) */
/* WARNING: Removing unreachable block (ram,0x000af41c) */
/* WARNING: Removing unreachable block (ram,0x000af150) */
/* WARNING: Removing unreachable block (ram,0x000af180) */
/* WARNING: Removing unreachable block (ram,0x000af184) */
/* WARNING: Removing unreachable block (ram,0x000af19c) */
/* WARNING: Removing unreachable block (ram,0x000af1a0) */
/* WARNING: Removing unreachable block (ram,0x000af210) */
/* WARNING: Removing unreachable block (ram,0x000af214) */
/* WARNING: Removing unreachable block (ram,0x000af218) */
/* WARNING: Removing unreachable block (ram,0x000af21c) */
/* WARNING: Removing unreachable block (ram,0x000af23c) */
/* WARNING: Removing unreachable block (ram,0x000af250) */
/* WARNING: Removing unreachable block (ram,0x000af2cc) */
/* WARNING: Removing unreachable block (ram,0x000af2d0) */
/* WARNING: Removing unreachable block (ram,0x000af330) */
/* WARNING: Removing unreachable block (ram,0x000af344) */
/* WARNING: Removing unreachable block (ram,0x000af440) */
/* WARNING: Removing unreachable block (ram,0x000af4d0) */
/* WARNING: Removing unreachable block (ram,0x000af508) */
/* WARNING: Removing unreachable block (ram,0x000af750) */
/* WARNING: Removing unreachable block (ram,0x000af51c) */
/* WARNING: Removing unreachable block (ram,0x000af53c) */
/* WARNING: Removing unreachable block (ram,0x000af5bc) */
/* WARNING: Removing unreachable block (ram,0x000af54c) */
/* WARNING: Removing unreachable block (ram,0x000af5f0) */
/* WARNING: Removing unreachable block (ram,0x000af57c) */
/* WARNING: Removing unreachable block (ram,0x000af62c) */
/* WARNING: Removing unreachable block (ram,0x000af63c) */
/* WARNING: Removing unreachable block (ram,0x000af7c0) */
/* WARNING: Removing unreachable block (ram,0x000af7c8) */
/* WARNING: Removing unreachable block (ram,0x000af7d0) */
/* WARNING: Removing unreachable block (ram,0x000af7d4) */
/* WARNING: Removing unreachable block (ram,0x000af7ec) */
/* WARNING: Removing unreachable block (ram,0x000af644) */
/* WARNING: Removing unreachable block (ram,0x000af7ac) */
/* WARNING: Removing unreachable block (ram,0x000af684) */
/* WARNING: Removing unreachable block (ram,0x000af694) */
/* WARNING: Removing unreachable block (ram,0x000af6bc) */
/* WARNING: Removing unreachable block (ram,0x000af6c4) */
/* WARNING: Removing unreachable block (ram,0x000af6c8) */
/* WARNING: Removing unreachable block (ram,0x000af714) */
/* WARNING: Removing unreachable block (ram,0x000af808) */
/* WARNING: Removing unreachable block (ram,0x000af834) */
/* WARNING: Removing unreachable block (ram,0x000af8a4) */
/* WARNING: Removing unreachable block (ram,0x000af8d4) */
/* WARNING: Removing unreachable block (ram,0x000af9ac) */
/* WARNING: Removing unreachable block (ram,0x000af9cc) */
/* WARNING: Removing unreachable block (ram,0x000af9f4) */
/* WARNING: Removing unreachable block (ram,0x000af9d4) */
/* WARNING: Removing unreachable block (ram,0x000af908) */
/* WARNING: Removing unreachable block (ram,0x000af970) */
/* WARNING: Removing unreachable block (ram,0x000af914) */
/* WARNING: Removing unreachable block (ram,0x000aec94) */
/* WARNING: Enum "DW_SECT": Some values do not have unique names */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void write_ehdr(Dwp_output_file * this) */

void __thiscall gold::Dwp_output_file::write_ehdr(Dwp_output_file *this)

{
  undefined *puVar1;
  char *pcVar2;
  undefined *puVar3;
  iterator __position;
  undefined *puVar4;
  Section SStack_60;
  
  if (this->size_ == 0x20) {
    if (this->big_endian_ != 0) {
      sized_write_ehdr<32,_true>(this);
      return;
    }
    sized_write_ehdr<32,_false>(this);
    return;
  }
  if (this->size_ == 0x40) {
    if (this->big_endian_ != 0) {
      sized_write_ehdr<64,_true>(this);
      return;
    }
    sized_write_ehdr<64,_false>(this);
    return;
  }
  pcVar2 = (char *)0x82f;
  puVar3 = PTR_LAB_0043220c + 0x5070;
  puVar1 = PTR_LAB_0043220c + 0x4494;
  puVar4 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)();
  SStack_60.size = 0;
  SStack_60.contributions.
  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
  ._M_impl._M_start = (pointer)0x0;
  SStack_60.contributions.
  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
  ._M_impl._M_finish = (pointer)0x0;
  SStack_60.contributions.
  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
  ._M_impl._M_end_of_storage = (pointer)0x0;
  SStack_60.offset._4_4_ = 0;
  SStack_60.offset._0_4_ = 0;
  __position._M_current = *(Section **)(puVar1 + 0x30);
  SStack_60.name = pcVar2;
  SStack_60.align = (int)puVar3;
  if (__position._M_current == *(Section **)(puVar1 + 0x34)) {
    std::vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>::
    _M_realloc_insert<const_gold::Dwp_output_file::Section&>
              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>
                *)(puVar1 + 0x2c),__position,&SStack_60);
  }
  else {
    (__position._M_current)->name = pcVar2;
    *(undefined4 *)((int)&(__position._M_current)->offset + 4) = 0;
    *(undefined4 *)&(__position._M_current)->offset = 0;
    (__position._M_current)->size = 0;
    (__position._M_current)->align = (int)puVar3;
    ((__position._M_current)->contributions).
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_start = (pointer)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_finish = (pointer)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_end_of_storage = (pointer)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_start = (pointer)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_finish = (pointer)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_end_of_storage = (pointer)0x0;
    SStack_60.contributions.
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_end_of_storage = (pointer)0x0;
    SStack_60.contributions.
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_finish = (pointer)0x0;
    SStack_60.contributions.
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_start = (pointer)0x0;
    SStack_60.size = 0;
    SStack_60.offset._4_4_ = 0;
    SStack_60.offset._0_4_ = 0;
    ((__position._M_current)->contributions).
    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
    ._M_impl._M_finish = (pointer)0x0;
    *(Section **)(puVar1 + 0x30) = __position._M_current + 1;
  }
  *(int *)(puVar1 + 0x28) = *(int *)(puVar1 + 0x28) + 1;
  if (SStack_60.contributions.
      super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
      ._M_impl._M_start != (pointer)0x0) {
    (**(code **)(puVar4 + 0x3836ec))
              (SStack_60.contributions.
               super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>
               ._M_impl._M_start);
  }
  return;
}



/* gold::Dwp_output_file::write_ehdr() */

void __thiscall gold::Dwp_output_file::write_ehdr(Dwp_output_file *this)

{
  if (*(int *)(this + 8) == 0x20) {
    if (*(int *)(this + 0xc) != 0) {
      sized_write_ehdr<32u,true>(this);
      return;
    }
    sized_write_ehdr<32u,false>(this);
    return;
  }
  if (*(int *)(this + 8) == 0x40) {
    if (*(int *)(this + 0xc) != 0) {
      sized_write_ehdr<64u,true>(this);
      return;
    }
    sized_write_ehdr<64u,false>(this);
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);
  return;
}


lui gp,0x39
addiu gp,gp,-0x4940
addu gp,gp,t9
addiu sp,sp,-0x20
lw v1,0x8(a0)
li a1,0x20
sw gp,0x10(sp)
sw ra,0x1c(sp)
beq v1,a1,0x000aeb64
_li a1,0x40
bne v1,a1,0x000aeb88
_lw a2,-0x7fc4(gp)
lw v0,0xc(a0)
beq v0,zero,0x000aeb58
_lw ra,0x1c(sp)
lw t9,-0x7de0(gp)
b 0x000c5b14
_addiu sp,sp,0x20
lw t9,-0x7ddc(gp)
b 0x000c5c6c
_addiu sp,sp,0x20
lw v0,0xc(a0)
beq v0,zero,0x000aeb7c
_lw ra,0x1c(sp)
lw t9,-0x7dd8(gp)
b 0x000c5864
_addiu sp,sp,0x20
lw t9,-0x7dd4(gp)
b 0x000c59a4
_addiu sp,sp,0x20
li a1,0x82f
lw a0,-0x7fc4(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x5070
jalr t9
_addiu a0,a0,0x4494
(translation_unit "/* gold::Dwp_output_file::write_ehdr() */\n\nvoid __thiscall gold::Dwp_output_file::write_ehdr(Dwp_output_file *this)\n\n{\n  if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }\n  if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);\n  return;\n}\n\n" comment (function_definition "void __thiscall gold::Dwp_output_file::write_ehdr(Dwp_output_file *this)\n\n{\n  if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }\n  if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Dwp_output_file::" identifier : : identifier : :) (function_declarator "write_ehdr(Dwp_output_file *this)" identifier (parameter_list "(Dwp_output_file *this)" ( (parameter_declaration "Dwp_output_file *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }\n  if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);\n  return;\n}" { (if_statement "if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }" if (parenthesized_expression "(*(int *)(this + 8) == 0x20)" ( (binary_expression "*(int *)(this + 8) == 0x20" (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }" { (if_statement "if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }" if (parenthesized_expression "(*(int *)(this + 0xc) != 0)" ( (binary_expression "*(int *)(this + 0xc) != 0" (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }" { (expression_statement "sized_write_ehdr<32u,true>(this);" (comma_expression "sized_write_ehdr<32u,true>(this)" (binary_expression "sized_write_ehdr<32u" identifier < number_literal) , (binary_expression "true>(this)" true > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (expression_statement "sized_write_ehdr<32u,false>(this);" (comma_expression "sized_write_ehdr<32u,false>(this)" (binary_expression "sized_write_ehdr<32u" identifier < number_literal) , (binary_expression "false>(this)" false > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }" if (parenthesized_expression "(*(int *)(this + 8) == 0x40)" ( (binary_expression "*(int *)(this + 8) == 0x40" (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }" { (if_statement "if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }" if (parenthesized_expression "(*(int *)(this + 0xc) != 0)" ( (binary_expression "*(int *)(this + 0xc) != 0" (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }" { (expression_statement "sized_write_ehdr<64u,true>(this);" (comma_expression "sized_write_ehdr<64u,true>(this)" (binary_expression "sized_write_ehdr<64u" identifier < number_literal) , (binary_expression "true>(this)" true > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (expression_statement "sized_write_ehdr<64u,false>(this);" (comma_expression "sized_write_ehdr<64u,false>(this)" (binary_expression "sized_write_ehdr<64u" identifier < number_literal) , (binary_expression "false>(this)" false > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070)" ( (binary_expression "PTR_LAB_0043220c + 0x4494" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0043220c + 0x5070" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x000aec4c) */\n/* WARNING: Removing unreachable block (ram,0x000aec60) */\n/* WARNING: Removing unreachable block (ram,0x000aed2c) */\n/* WARNING: Removing unreachable block (ram,0x000aed48) */\n/* WARNING: Removing unreachable block (ram,0x000aed58) */\n/* WARNING: Removing unreachable block (ram,0x000aee90) */\n/* WARNING: Removing unreachable block (ram,0x000aeec8) */\n/* WARNING: Removing unreachable block (ram,0x000aef40) */\n/* WARNING: Removing unreachable block (ram,0x000aeffc) */\n/* WARNING: Removing unreachable block (ram,0x000af00c) */\n/* WARNING: Removing unreachable block (ram,0x000af014) */\n/* WARNING: Removing unreachable block (ram,0x000af020) */\n/* WARNING: Removing unreachable block (ram,0x000aef58) */\n/* WARNING: Removing unreachable block (ram,0x000aef64) */\n/* WARNING: Removing unreachable block (ram,0x000aefe0) */\n/* WARNING: Removing unreachable block (ram,0x000aefe4) */\n/* WARNING: Removing unreachable block (ram,0x000af038) */\n/* WARNING: Removing unreachable block (ram,0x000af380) */\n/* WARNING: Removing unreachable block (ram,0x000af398) */\n/* WARNING: Removing unreachable block (ram,0x000af044) */\n/* WARNING: Removing unreachable block (ram,0x000af378) */\n/* WARNING: Removing unreachable block (ram,0x000af054) */\n/* WARNING: Removing unreachable block (ram,0x000af058) */\n/* WARNING: Removing unreachable block (ram,0x000af400) */\n/* WARNING: Removing unreachable block (ram,0x000af0e8) */\n/* WARNING: Removing unreachable block (ram,0x000af41c) */\n/* WARNING: Removing unreachable block (ram,0x000af150) */\n/* WARNING: Removing unreachable block (ram,0x000af180) */\n/* WARNING: Removing unreachable block (ram,0x000af184) */\n/* WARNING: Removing unreachable block (ram,0x000af19c) */\n/* WARNING: Removing unreachable block (ram,0x000af1a0) */\n/* WARNING: Removing unreachable block (ram,0x000af210) */\n/* WARNING: Removing unreachable block (ram,0x000af214) */\n/* WARNING: Removing unreachable block (ram,0x000af218) */\n/* WARNING: Removing unreachable block (ram,0x000af21c) */\n/* WARNING: Removing unreachable block (ram,0x000af23c) */\n/* WARNING: Removing unreachable block (ram,0x000af250) */\n/* WARNING: Removing unreachable block (ram,0x000af2cc) */\n/* WARNING: Removing unreachable block (ram,0x000af2d0) */\n/* WARNING: Removing unreachable block (ram,0x000af330) */\n/* WARNING: Removing unreachable block (ram,0x000af344) */\n/* WARNING: Removing unreachable block (ram,0x000af440) */\n/* WARNING: Removing unreachable block (ram,0x000af4d0) */\n/* WARNING: Removing unreachable block (ram,0x000af508) */\n/* WARNING: Removing unreachable block (ram,0x000af750) */\n/* WARNING: Removing unreachable block (ram,0x000af51c) */\n/* WARNING: Removing unreachable block (ram,0x000af53c) */\n/* WARNING: Removing unreachable block (ram,0x000af5bc) */\n/* WARNING: Removing unreachable block (ram,0x000af54c) */\n/* WARNING: Removing unreachable block (ram,0x000af5f0) */\n/* WARNING: Removing unreachable block (ram,0x000af57c) */\n/* WARNING: Removing unreachable block (ram,0x000af62c) */\n/* WARNING: Removing unreachable block (ram,0x000af63c) */\n/* WARNING: Removing unreachable block (ram,0x000af7c0) */\n/* WARNING: Removing unreachable block (ram,0x000af7c8) */\n/* WARNING: Removing unreachable block (ram,0x000af7d0) */\n/* WARNING: Removing unreachable block (ram,0x000af7d4) */\n/* WARNING: Removing unreachable block (ram,0x000af7ec) */\n/* WARNING: Removing unreachable block (ram,0x000af644) */\n/* WARNING: Removing unreachable block (ram,0x000af7ac) */\n/* WARNING: Removing unreachable block (ram,0x000af684) */\n/* WARNING: Removing unreachable block (ram,0x000af694) */\n/* WARNING: Removing unreachable block (ram,0x000af6bc) */\n/* WARNING: Removing unreachable block (ram,0x000af6c4) */\n/* WARNING: Removing unreachable block (ram,0x000af6c8) */\n/* WARNING: Removing unreachable block (ram,0x000af714) */\n/* WARNING: Removing unreachable block (ram,0x000af808) */\n/* WARNING: Removing unreachable block (ram,0x000af834) */\n/* WARNING: Removing unreachable block (ram,0x000af8a4) */\n/* WARNING: Removing unreachable block (ram,0x000af8d4) */\n/* WARNING: Removing unreachable block (ram,0x000af9ac) */\n/* WARNING: Removing unreachable block (ram,0x000af9cc) */\n/* WARNING: Removing unreachable block (ram,0x000af9f4) */\n/* WARNING: Removing unreachable block (ram,0x000af9d4) */\n/* WARNING: Removing unreachable block (ram,0x000af908) */\n/* WARNING: Removing unreachable block (ram,0x000af970) */\n/* WARNING: Removing unreachable block (ram,0x000af914) */\n/* WARNING: Removing unreachable block (ram,0x000aec94) */\n/* WARNING: Enum "DW_SECT": Some values do not have unique names */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: void write_ehdr(Dwp_output_file * this) */\n\nvoid __thiscall gold::Dwp_output_file::write_ehdr(Dwp_output_file *this)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  undefined *puVar3;\n  iterator __position;\n  undefined *puVar4;\n  Section SStack_60;\n  \n  if (this->size_ == 0x20) {\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<32,_true>(this);\n      return;\n    }\n    sized_write_ehdr<32,_false>(this);\n    return;\n  }\n  if (this->size_ == 0x40) {\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<64,_true>(this);\n      return;\n    }\n    sized_write_ehdr<64,_false>(this);\n    return;\n  }\n  pcVar2 = (char *)0x82f;\n  puVar3 = PTR_LAB_0043220c + 0x5070;\n  puVar1 = PTR_LAB_0043220c + 0x4494;\n  puVar4 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  SStack_60.size = 0;\n  SStack_60.contributions.\n  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_start = (pointer)0x0;\n  SStack_60.contributions.\n  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  SStack_60.contributions.\n  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  SStack_60.offset._4_4_ = 0;\n  SStack_60.offset._0_4_ = 0;\n  __position._M_current = *(Section **)(puVar1 + 0x30);\n  SStack_60.name = pcVar2;\n  SStack_60.align = (int)puVar3;\n  if (__position._M_current == *(Section **)(puVar1 + 0x34)) {\n    std::vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>::\n    _M_realloc_insert<const_gold::Dwp_output_file::Section&>\n              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);\n  }\n  else {\n    (__position._M_current)->name = pcVar2;\n    *(undefined4 *)((int)&(__position._M_current)->offset + 4) = 0;\n    *(undefined4 *)&(__position._M_current)->offset = 0;\n    (__position._M_current)->size = 0;\n    (__position._M_current)->align = (int)puVar3;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    SStack_60.size = 0;\n    SStack_60.offset._4_4_ = 0;\n    SStack_60.offset._0_4_ = 0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    *(Section **)(puVar1 + 0x30) = __position._M_current + 1;\n  }\n  *(int *)(puVar1 + 0x28) = *(int *)(puVar1 + 0x28) + 1;\n  if (SStack_60.contributions.\n      super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    (**(code **)(puVar4 + 0x3836ec))\n              (SStack_60.contributions.\n               super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n               ._M_impl._M_start);\n  }\n  return;\n}\n\n" comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment (function_definition "void __thiscall gold::Dwp_output_file::write_ehdr(Dwp_output_file *this)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  undefined *puVar3;\n  iterator __position;\n  undefined *puVar4;\n  Section SStack_60;\n  \n  if (this->size_ == 0x20) {\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<32,_true>(this);\n      return;\n    }\n    sized_write_ehdr<32,_false>(this);\n    return;\n  }\n  if (this->size_ == 0x40) {\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<64,_true>(this);\n      return;\n    }\n    sized_write_ehdr<64,_false>(this);\n    return;\n  }\n  pcVar2 = (char *)0x82f;\n  puVar3 = PTR_LAB_0043220c + 0x5070;\n  puVar1 = PTR_LAB_0043220c + 0x4494;\n  puVar4 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  SStack_60.size = 0;\n  SStack_60.contributions.\n  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_start = (pointer)0x0;\n  SStack_60.contributions.\n  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  SStack_60.contributions.\n  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  SStack_60.offset._4_4_ = 0;\n  SStack_60.offset._0_4_ = 0;\n  __position._M_current = *(Section **)(puVar1 + 0x30);\n  SStack_60.name = pcVar2;\n  SStack_60.align = (int)puVar3;\n  if (__position._M_current == *(Section **)(puVar1 + 0x34)) {\n    std::vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>::\n    _M_realloc_insert<const_gold::Dwp_output_file::Section&>\n              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);\n  }\n  else {\n    (__position._M_current)->name = pcVar2;\n    *(undefined4 *)((int)&(__position._M_current)->offset + 4) = 0;\n    *(undefined4 *)&(__position._M_current)->offset = 0;\n    (__position._M_current)->size = 0;\n    (__position._M_current)->align = (int)puVar3;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    SStack_60.size = 0;\n    SStack_60.offset._4_4_ = 0;\n    SStack_60.offset._0_4_ = 0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    *(Section **)(puVar1 + 0x30) = __position._M_current + 1;\n  }\n  *(int *)(puVar1 + 0x28) = *(int *)(puVar1 + 0x28) + 1;\n  if (SStack_60.contributions.\n      super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    (**(code **)(puVar4 + 0x3836ec))\n              (SStack_60.contributions.\n               super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n               ._M_impl._M_start);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Dwp_output_file::" identifier : : identifier : :) (function_declarator "write_ehdr(Dwp_output_file *this)" identifier (parameter_list "(Dwp_output_file *this)" ( (parameter_declaration "Dwp_output_file *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  char *pcVar2;\n  undefined *puVar3;\n  iterator __position;\n  undefined *puVar4;\n  Section SStack_60;\n  \n  if (this->size_ == 0x20) {\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<32,_true>(this);\n      return;\n    }\n    sized_write_ehdr<32,_false>(this);\n    return;\n  }\n  if (this->size_ == 0x40) {\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<64,_true>(this);\n      return;\n    }\n    sized_write_ehdr<64,_false>(this);\n    return;\n  }\n  pcVar2 = (char *)0x82f;\n  puVar3 = PTR_LAB_0043220c + 0x5070;\n  puVar1 = PTR_LAB_0043220c + 0x4494;\n  puVar4 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)();\n  SStack_60.size = 0;\n  SStack_60.contributions.\n  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_start = (pointer)0x0;\n  SStack_60.contributions.\n  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  SStack_60.contributions.\n  super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  SStack_60.offset._4_4_ = 0;\n  SStack_60.offset._0_4_ = 0;\n  __position._M_current = *(Section **)(puVar1 + 0x30);\n  SStack_60.name = pcVar2;\n  SStack_60.align = (int)puVar3;\n  if (__position._M_current == *(Section **)(puVar1 + 0x34)) {\n    std::vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>::\n    _M_realloc_insert<const_gold::Dwp_output_file::Section&>\n              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);\n  }\n  else {\n    (__position._M_current)->name = pcVar2;\n    *(undefined4 *)((int)&(__position._M_current)->offset + 4) = 0;\n    *(undefined4 *)&(__position._M_current)->offset = 0;\n    (__position._M_current)->size = 0;\n    (__position._M_current)->align = (int)puVar3;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    SStack_60.size = 0;\n    SStack_60.offset._4_4_ = 0;\n    SStack_60.offset._0_4_ = 0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    *(Section **)(puVar1 + 0x30) = __position._M_current + 1;\n  }\n  *(int *)(puVar1 + 0x28) = *(int *)(puVar1 + 0x28) + 1;\n  if (SStack_60.contributions.\n      super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    (**(code **)(puVar4 + 0x3836ec))\n              (SStack_60.contributions.\n               super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n               ._M_impl._M_start);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "Section SStack_60;" type_identifier identifier ;) (if_statement "if (this->size_ == 0x20) {\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<32,_true>(this);\n      return;\n    }\n    sized_write_ehdr<32,_false>(this);\n    return;\n  }" if (parenthesized_expression "(this->size_ == 0x20)" ( (binary_expression "this->size_ == 0x20" (field_expression "this->size_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<32,_true>(this);\n      return;\n    }\n    sized_write_ehdr<32,_false>(this);\n    return;\n  }" { (if_statement "if (this->big_endian_ != 0) {\n      sized_write_ehdr<32,_true>(this);\n      return;\n    }" if (parenthesized_expression "(this->big_endian_ != 0)" ( (binary_expression "this->big_endian_ != 0" (field_expression "this->big_endian_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      sized_write_ehdr<32,_true>(this);\n      return;\n    }" { (expression_statement "sized_write_ehdr<32,_true>(this);" (comma_expression "sized_write_ehdr<32,_true>(this)" (binary_expression "sized_write_ehdr<32" identifier < number_literal) , (binary_expression "_true>(this)" identifier > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (expression_statement "sized_write_ehdr<32,_false>(this);" (comma_expression "sized_write_ehdr<32,_false>(this)" (binary_expression "sized_write_ehdr<32" identifier < number_literal) , (binary_expression "_false>(this)" identifier > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (if_statement "if (this->size_ == 0x40) {\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<64,_true>(this);\n      return;\n    }\n    sized_write_ehdr<64,_false>(this);\n    return;\n  }" if (parenthesized_expression "(this->size_ == 0x40)" ( (binary_expression "this->size_ == 0x40" (field_expression "this->size_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    if (this->big_endian_ != 0) {\n      sized_write_ehdr<64,_true>(this);\n      return;\n    }\n    sized_write_ehdr<64,_false>(this);\n    return;\n  }" { (if_statement "if (this->big_endian_ != 0) {\n      sized_write_ehdr<64,_true>(this);\n      return;\n    }" if (parenthesized_expression "(this->big_endian_ != 0)" ( (binary_expression "this->big_endian_ != 0" (field_expression "this->big_endian_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      sized_write_ehdr<64,_true>(this);\n      return;\n    }" { (expression_statement "sized_write_ehdr<64,_true>(this);" (comma_expression "sized_write_ehdr<64,_true>(this)" (binary_expression "sized_write_ehdr<64" identifier < number_literal) , (binary_expression "_true>(this)" identifier > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (expression_statement "sized_write_ehdr<64,_false>(this);" (comma_expression "sized_write_ehdr<64,_false>(this)" (binary_expression "sized_write_ehdr<64" identifier < number_literal) , (binary_expression "_false>(this)" identifier > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar2 = (char *)0x82f;" (assignment_expression "pcVar2 = (char *)0x82f" identifier = (cast_expression "(char *)0x82f" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar3 = PTR_LAB_0043220c + 0x5070;" (assignment_expression "puVar3 = PTR_LAB_0043220c + 0x5070" identifier = (binary_expression "PTR_LAB_0043220c + 0x5070" identifier + number_literal)) ;) (expression_statement "puVar1 = PTR_LAB_0043220c + 0x4494;" (assignment_expression "puVar1 = PTR_LAB_0043220c + 0x4494" identifier = (binary_expression "PTR_LAB_0043220c + 0x4494" identifier + number_literal)) ;) (expression_statement "puVar4 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar4 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)();" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)()" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "SStack_60.size = 0;" (assignment_expression "SStack_60.size = 0" (field_expression "SStack_60.size" identifier . field_identifier) = number_literal) ;) (ERROR "SStack_60.contributions.\n  super__Vector_base<gold::" (binary_expression "SStack_60.contributions.\n  super__Vector_base<gold" (field_expression "SStack_60.contributions.\n  super__Vector_base" (field_expression "SStack_60.contributions" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n  ._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n  ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Contribution>_>\n  ._M_impl._M_start = (pointer)0x0" (field_expression "Contribution>_>\n  ._M_impl._M_start" (field_expression "Contribution>_>\n  ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "SStack_60.contributions.\n  super__Vector_base<gold::" (binary_expression "SStack_60.contributions.\n  super__Vector_base<gold" (field_expression "SStack_60.contributions.\n  super__Vector_base" (field_expression "SStack_60.contributions" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n  ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n  ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Contribution>_>\n  ._M_impl._M_finish = (pointer)0x0" (field_expression "Contribution>_>\n  ._M_impl._M_finish" (field_expression "Contribution>_>\n  ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "SStack_60.contributions.\n  super__Vector_base<gold::" (binary_expression "SStack_60.contributions.\n  super__Vector_base<gold" (field_expression "SStack_60.contributions.\n  super__Vector_base" (field_expression "SStack_60.contributions" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Contribution>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Contribution>_>\n  ._M_impl._M_end_of_storage" (field_expression "Contribution>_>\n  ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "SStack_60.offset._4_4_ = 0;" (assignment_expression "SStack_60.offset._4_4_ = 0" (field_expression "SStack_60.offset._4_4_" (field_expression "SStack_60.offset" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "SStack_60.offset._0_4_ = 0;" (assignment_expression "SStack_60.offset._0_4_ = 0" (field_expression "SStack_60.offset._0_4_" (field_expression "SStack_60.offset" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "__position._M_current = *(Section **)(puVar1 + 0x30);" (assignment_expression "__position._M_current = *(Section **)(puVar1 + 0x30)" (field_expression "__position._M_current" identifier . field_identifier) = (pointer_expression "*(Section **)(puVar1 + 0x30)" * (cast_expression "(Section **)(puVar1 + 0x30)" ( (type_descriptor "Section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + 0x30)" ( (binary_expression "puVar1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "SStack_60.name = pcVar2;" (assignment_expression "SStack_60.name = pcVar2" (field_expression "SStack_60.name" identifier . field_identifier) = identifier) ;) (expression_statement "SStack_60.align = (int)puVar3;" (assignment_expression "SStack_60.align = (int)puVar3" (field_expression "SStack_60.align" identifier . field_identifier) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (__position._M_current == *(Section **)(puVar1 + 0x34)) {\n    std::vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>::\n    _M_realloc_insert<const_gold::Dwp_output_file::Section&>\n              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);\n  }\n  else {\n    (__position._M_current)->name = pcVar2;\n    *(undefined4 *)((int)&(__position._M_current)->offset + 4) = 0;\n    *(undefined4 *)&(__position._M_current)->offset = 0;\n    (__position._M_current)->size = 0;\n    (__position._M_current)->align = (int)puVar3;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    SStack_60.size = 0;\n    SStack_60.offset._4_4_ = 0;\n    SStack_60.offset._0_4_ = 0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    *(Section **)(puVar1 + 0x30) = __position._M_current + 1;\n  }" if (parenthesized_expression "(__position._M_current == *(Section **)(puVar1 + 0x34))" ( (binary_expression "__position._M_current == *(Section **)(puVar1 + 0x34)" (field_expression "__position._M_current" identifier . field_identifier) == (pointer_expression "*(Section **)(puVar1 + 0x34)" * (cast_expression "(Section **)(puVar1 + 0x34)" ( (type_descriptor "Section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + 0x34)" ( (binary_expression "puVar1 + 0x34" identifier + number_literal) ))))) )) (compound_statement "{\n    std::vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>::\n    _M_realloc_insert<const_gold::Dwp_output_file::Section&>\n              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);\n  }" { (labeled_statement "std::vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>::\n    _M_realloc_insert<const_gold::Dwp_output_file::Section&>\n              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);" statement_identifier (ERROR "::vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>::\n    _M_realloc_insert<const_gold::Dwp_output_file::Section&>\n              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);" statement_identifier (ERROR "::Section,_std::allocator<gold:" : : (comma_expression "Section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Section>_>::\n    _M_realloc_insert<const_gold::Dwp_output_file::Section&>\n              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);" statement_identifier (ERROR "::Section>_>::\n    _M_realloc_insert<const_gold:" : : (binary_expression "Section>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Section&>\n              ((vector<gold::Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);" statement_identifier (ERROR "::Section&>\n              ((vector<gold:" : : identifier (ERROR "&" &) > ( ( (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Section,_std::allocator<gold::Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);" statement_identifier (ERROR "::Section,_std::allocator<gold:" : : (comma_expression "Section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);" statement_identifier : (ERROR ":" :) (expression_statement "Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60);" (comma_expression "Section>_>\n                *)(puVar1 + 0x2c),__position,&SStack_60" (binary_expression "Section>_>\n                *)(puVar1 + 0x2c" (binary_expression "Section>_" identifier > identifier) > (binary_expression "*)(puVar1 + 0x2c" (pointer_expression "*)(puVar1" * (ERROR ")(" ) () identifier) + number_literal)) (ERROR ")" )) , (comma_expression "__position,&SStack_60" identifier , (pointer_expression "&SStack_60" & identifier))) (ERROR ")" )) ;))))))) }) (else_clause "else {\n    (__position._M_current)->name = pcVar2;\n    *(undefined4 *)((int)&(__position._M_current)->offset + 4) = 0;\n    *(undefined4 *)&(__position._M_current)->offset = 0;\n    (__position._M_current)->size = 0;\n    (__position._M_current)->align = (int)puVar3;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    SStack_60.size = 0;\n    SStack_60.offset._4_4_ = 0;\n    SStack_60.offset._0_4_ = 0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    *(Section **)(puVar1 + 0x30) = __position._M_current + 1;\n  }" else (compound_statement "{\n    (__position._M_current)->name = pcVar2;\n    *(undefined4 *)((int)&(__position._M_current)->offset + 4) = 0;\n    *(undefined4 *)&(__position._M_current)->offset = 0;\n    (__position._M_current)->size = 0;\n    (__position._M_current)->align = (int)puVar3;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    SStack_60.contributions.\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;\n    SStack_60.size = 0;\n    SStack_60.offset._4_4_ = 0;\n    SStack_60.offset._0_4_ = 0;\n    ((__position._M_current)->contributions).\n    super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    *(Section **)(puVar1 + 0x30) = __position._M_current + 1;\n  }" { (expression_statement "(__position._M_current)->name = pcVar2;" (assignment_expression "(__position._M_current)->name = pcVar2" (field_expression "(__position._M_current)->name" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)&(__position._M_current)->offset + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(__position._M_current)->offset + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(__position._M_current)->offset + 4)" * (cast_expression "(undefined4 *)((int)&(__position._M_current)->offset + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(__position._M_current)->offset + 4)" ( (binary_expression "(int)&(__position._M_current)->offset + 4" (cast_expression "(int)&(__position._M_current)->offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(__position._M_current)->offset" & (field_expression "(__position._M_current)->offset" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(__position._M_current)->offset = 0;" (assignment_expression "*(undefined4 *)&(__position._M_current)->offset = 0" (pointer_expression "*(undefined4 *)&(__position._M_current)->offset" * (cast_expression "(undefined4 *)&(__position._M_current)->offset" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__position._M_current)->offset" & (field_expression "(__position._M_current)->offset" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier)))) = number_literal) ;) (expression_statement "(__position._M_current)->size = 0;" (assignment_expression "(__position._M_current)->size = 0" (field_expression "(__position._M_current)->size" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "(__position._M_current)->align = (int)puVar3;" (assignment_expression "(__position._M_current)->align = (int)puVar3" (field_expression "(__position._M_current)->align" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (ERROR "((__position._M_current)->contributions).\n    super__Vector_base<gold::" (binary_expression "((__position._M_current)->contributions).\n    super__Vector_base<gold" (field_expression "((__position._M_current)->contributions).\n    super__Vector_base" (parenthesized_expression "((__position._M_current)->contributions)" ( (field_expression "(__position._M_current)->contributions" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_start = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_start" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "((__position._M_current)->contributions).\n    super__Vector_base<gold::" (binary_expression "((__position._M_current)->contributions).\n    super__Vector_base<gold" (field_expression "((__position._M_current)->contributions).\n    super__Vector_base" (parenthesized_expression "((__position._M_current)->contributions)" ( (field_expression "(__position._M_current)->contributions" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_finish" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "((__position._M_current)->contributions).\n    super__Vector_base<gold::" (binary_expression "((__position._M_current)->contributions).\n    super__Vector_base<gold" (field_expression "((__position._M_current)->contributions).\n    super__Vector_base" (parenthesized_expression "((__position._M_current)->contributions)" ( (field_expression "(__position._M_current)->contributions" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_end_of_storage" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "((__position._M_current)->contributions).\n    super__Vector_base<gold::" (binary_expression "((__position._M_current)->contributions).\n    super__Vector_base<gold" (field_expression "((__position._M_current)->contributions).\n    super__Vector_base" (parenthesized_expression "((__position._M_current)->contributions)" ( (field_expression "(__position._M_current)->contributions" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_start = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_start" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "((__position._M_current)->contributions).\n    super__Vector_base<gold::" (binary_expression "((__position._M_current)->contributions).\n    super__Vector_base<gold" (field_expression "((__position._M_current)->contributions).\n    super__Vector_base" (parenthesized_expression "((__position._M_current)->contributions)" ( (field_expression "(__position._M_current)->contributions" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_finish" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "((__position._M_current)->contributions).\n    super__Vector_base<gold::" (binary_expression "((__position._M_current)->contributions).\n    super__Vector_base<gold" (field_expression "((__position._M_current)->contributions).\n    super__Vector_base" (parenthesized_expression "((__position._M_current)->contributions)" ( (field_expression "(__position._M_current)->contributions" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_end_of_storage" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "SStack_60.contributions.\n    super__Vector_base<gold::" (binary_expression "SStack_60.contributions.\n    super__Vector_base<gold" (field_expression "SStack_60.contributions.\n    super__Vector_base" (field_expression "SStack_60.contributions" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_end_of_storage" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "SStack_60.contributions.\n    super__Vector_base<gold::" (binary_expression "SStack_60.contributions.\n    super__Vector_base<gold" (field_expression "SStack_60.contributions.\n    super__Vector_base" (field_expression "SStack_60.contributions" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_finish" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "SStack_60.contributions.\n    super__Vector_base<gold::" (binary_expression "SStack_60.contributions.\n    super__Vector_base<gold" (field_expression "SStack_60.contributions.\n    super__Vector_base" (field_expression "SStack_60.contributions" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_start = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_start" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "SStack_60.size = 0;" (assignment_expression "SStack_60.size = 0" (field_expression "SStack_60.size" identifier . field_identifier) = number_literal) ;) (expression_statement "SStack_60.offset._4_4_ = 0;" (assignment_expression "SStack_60.offset._4_4_ = 0" (field_expression "SStack_60.offset._4_4_" (field_expression "SStack_60.offset" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "SStack_60.offset._0_4_ = 0;" (assignment_expression "SStack_60.offset._0_4_ = 0" (field_expression "SStack_60.offset._0_4_" (field_expression "SStack_60.offset" identifier . field_identifier) . field_identifier) = number_literal) ;) (ERROR "((__position._M_current)->contributions).\n    super__Vector_base<gold::" (binary_expression "((__position._M_current)->contributions).\n    super__Vector_base<gold" (field_expression "((__position._M_current)->contributions).\n    super__Vector_base" (parenthesized_expression "((__position._M_current)->contributions)" ( (field_expression "(__position._M_current)->contributions" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Contribution,_std::allocator<gold:" : : (comma_expression "Contribution,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwp_output_file::Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Contribution>_>\n    ._M_impl._M_finish = (pointer)0x0" (field_expression "Contribution>_>\n    ._M_impl._M_finish" (field_expression "Contribution>_>\n    ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "*(Section **)(puVar1 + 0x30) = __position._M_current + 1;" (assignment_expression "*(Section **)(puVar1 + 0x30) = __position._M_current + 1" (pointer_expression "*(Section **)(puVar1 + 0x30)" * (cast_expression "(Section **)(puVar1 + 0x30)" ( (type_descriptor "Section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + 0x30)" ( (binary_expression "puVar1 + 0x30" identifier + number_literal) )))) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) }))) (expression_statement "*(int *)(puVar1 + 0x28) = *(int *)(puVar1 + 0x28) + 1;" (assignment_expression "*(int *)(puVar1 + 0x28) = *(int *)(puVar1 + 0x28) + 1" (pointer_expression "*(int *)(puVar1 + 0x28)" * (cast_expression "(int *)(puVar1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x28)" ( (binary_expression "puVar1 + 0x28" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar1 + 0x28) + 1" (pointer_expression "*(int *)(puVar1 + 0x28)" * (cast_expression "(int *)(puVar1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x28)" ( (binary_expression "puVar1 + 0x28" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (SStack_60.contributions.\n      super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    (**(code **)(puVar4 + 0x3836ec))\n              (SStack_60.contributions.\n               super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n               ._M_impl._M_start);\n  }" if (parenthesized_expression "(SStack_60.contributions.\n      super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n      ._M_impl._M_start != (pointer)0x0)" ( (ERROR "SStack_60.contributions.\n      super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::" (comma_expression "SStack_60.contributions.\n      super__Vector_base<gold::Dwp_output_file::Contribution,_std" (binary_expression "SStack_60.contributions.\n      super__Vector_base<gold" (field_expression "SStack_60.contributions.\n      super__Vector_base" (field_expression "SStack_60.contributions" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::Dwp_output_file::Contribution" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Contribution>_>\n      ._M_impl._M_start != (pointer)0x0" (field_expression "Contribution>_>\n      ._M_impl._M_start" (field_expression "Contribution>_>\n      ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar4 + 0x3836ec))\n              (SStack_60.contributions.\n               super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n               ._M_impl._M_start);\n  }" { (expression_statement "(**(code **)(puVar4 + 0x3836ec))\n              (SStack_60.contributions.\n               super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n               ._M_impl._M_start);" (call_expression "(**(code **)(puVar4 + 0x3836ec))\n              (SStack_60.contributions.\n               super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n               ._M_impl._M_start)" (parenthesized_expression "(**(code **)(puVar4 + 0x3836ec))" ( (pointer_expression "**(code **)(puVar4 + 0x3836ec)" * (pointer_expression "*(code **)(puVar4 + 0x3836ec)" * (cast_expression "(code **)(puVar4 + 0x3836ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar4 + 0x3836ec)" ( (binary_expression "puVar4 + 0x3836ec" identifier + number_literal) ))))) )) (argument_list "(SStack_60.contributions.\n               super__Vector_base<gold::Dwp_output_file::Contribution,_std::allocator<gold::Dwp_output_file::Contribution>_>\n               ._M_impl._M_start)" ( (binary_expression "SStack_60.contributions.\n               super__Vector_base<gold" (field_expression "SStack_60.contributions.\n               super__Vector_base" (field_expression "SStack_60.contributions" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::Dwp_output_file::Contribution" : : identifier : : identifier) , (ERROR "_std::allocator<gold::Dwp_output_file::" identifier : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Contribution>_>\n               ._M_impl._M_start" (field_expression "Contribution>_>\n               ._M_impl" (binary_expression "Contribution>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void __thiscall gold::Dwp_output_file::write_ehdr(Dwp_output_file *this)\n\n{\n  if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }\n  if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);\n  return;\n}\n\n" (function_definition "void __thiscall gold::Dwp_output_file::write_ehdr(Dwp_output_file *this)\n\n{\n  if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }\n  if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Dwp_output_file::" identifier : : identifier : :) (function_declarator "write_ehdr(Dwp_output_file *this)" identifier (parameter_list "(Dwp_output_file *this)" ( (parameter_declaration "Dwp_output_file *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }\n  if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);\n  return;\n}" { (if_statement "if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }" if (parenthesized_expression "(*(int *)(this + 8) == 0x20)" ( (binary_expression "*(int *)(this + 8) == 0x20" (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }" { (if_statement "if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }" if (parenthesized_expression "(*(int *)(this + 0xc) != 0)" ( (binary_expression "*(int *)(this + 0xc) != 0" (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }" { (expression_statement "sized_write_ehdr<32u,true>(this);" (comma_expression "sized_write_ehdr<32u,true>(this)" (binary_expression "sized_write_ehdr<32u" identifier < number_literal) , (binary_expression "true>(this)" true > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (expression_statement "sized_write_ehdr<32u,false>(this);" (comma_expression "sized_write_ehdr<32u,false>(this)" (binary_expression "sized_write_ehdr<32u" identifier < number_literal) , (binary_expression "false>(this)" false > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }" if (parenthesized_expression "(*(int *)(this + 8) == 0x40)" ( (binary_expression "*(int *)(this + 8) == 0x40" (pointer_expression "*(int *)(this + 8)" * (cast_expression "(int *)(this + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }" { (if_statement "if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }" if (parenthesized_expression "(*(int *)(this + 0xc) != 0)" ( (binary_expression "*(int *)(this + 0xc) != 0" (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }" { (expression_statement "sized_write_ehdr<64u,true>(this);" (comma_expression "sized_write_ehdr<64u,true>(this)" (binary_expression "sized_write_ehdr<64u" identifier < number_literal) , (binary_expression "true>(this)" true > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (expression_statement "sized_write_ehdr<64u,false>(this);" (comma_expression "sized_write_ehdr<64u,false>(this)" (binary_expression "sized_write_ehdr<64u" identifier < number_literal) , (binary_expression "false>(this)" false > (parenthesized_expression "(this)" ( identifier )))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070)" ( (binary_expression "PTR_LAB_0043220c + 0x4494" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0043220c + 0x5070" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (parenthesized_expression ( IDENT )))) ;) (return_statement return ;) })) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (parenthesized_expression ( IDENT )))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (parenthesized_expression ( IDENT )))) ;) (return_statement return ;) })) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (parenthesized_expression ( IDENT )))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })))
(function_definition "void __thiscall gold::Dwp_output_file::write_ehdr(Dwp_output_file *this)\n\n{\n  if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }\n  if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);\n  return;\n}" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Dwp_output_file::" (identifier "gold") (: ":") (: ":") (identifier "Dwp_output_file") (: ":") (: ":")) (function_declarator "write_ehdr(Dwp_output_file *this)" (identifier "write_ehdr") (parameter_list "(Dwp_output_file *this)" (( "(") (parameter_declaration "Dwp_output_file *this" (type_identifier "Dwp_output_file") (pointer_declarator "*this" (* "*") (identifier "this"))) () ")"))) (compound_statement "{\n  if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }\n  if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);\n  return;\n}" ({ "{") (if_statement "if (*(int *)(this + 8) == 0x20) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(this + 8) == 0x20)" (( "(") (binary_expression "*(int *)(this + 8) == 0x20" (pointer_expression "*(int *)(this + 8)" (* "*") (cast_expression "(int *)(this + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }\n    sized_write_ehdr<32u,false>(this);\n    return;\n  }" ({ "{") (if_statement "if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }" (if "if") (parenthesized_expression "(*(int *)(this + 0xc) != 0)" (( "(") (binary_expression "*(int *)(this + 0xc) != 0" (pointer_expression "*(int *)(this + 0xc)" (* "*") (cast_expression "(int *)(this + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc)" (( "(") (binary_expression "this + 0xc" (identifier "this") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      sized_write_ehdr<32u,true>(this);\n      return;\n    }" ({ "{") (expression_statement "sized_write_ehdr<32u,true>(this);" (comma_expression "sized_write_ehdr<32u,true>(this)" (binary_expression "sized_write_ehdr<32u" (identifier "sized_write_ehdr") (< "<") (number_literal "32u")) (, ",") (binary_expression "true>(this)" (true "true") (> ">") (parenthesized_expression "(this)" (( "(") (identifier "this") () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "sized_write_ehdr<32u,false>(this);" (comma_expression "sized_write_ehdr<32u,false>(this)" (binary_expression "sized_write_ehdr<32u" (identifier "sized_write_ehdr") (< "<") (number_literal "32u")) (, ",") (binary_expression "false>(this)" (false "false") (> ">") (parenthesized_expression "(this)" (( "(") (identifier "this") () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(this + 8) == 0x40) {\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(this + 8) == 0x40)" (( "(") (binary_expression "*(int *)(this + 8) == 0x40" (pointer_expression "*(int *)(this + 8)" (* "*") (cast_expression "(int *)(this + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n    if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }\n    sized_write_ehdr<64u,false>(this);\n    return;\n  }" ({ "{") (if_statement "if (*(int *)(this + 0xc) != 0) {\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }" (if "if") (parenthesized_expression "(*(int *)(this + 0xc) != 0)" (( "(") (binary_expression "*(int *)(this + 0xc) != 0" (pointer_expression "*(int *)(this + 0xc)" (* "*") (cast_expression "(int *)(this + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc)" (( "(") (binary_expression "this + 0xc" (identifier "this") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      sized_write_ehdr<64u,true>(this);\n      return;\n    }" ({ "{") (expression_statement "sized_write_ehdr<64u,true>(this);" (comma_expression "sized_write_ehdr<64u,true>(this)" (binary_expression "sized_write_ehdr<64u" (identifier "sized_write_ehdr") (< "<") (number_literal "64u")) (, ",") (binary_expression "true>(this)" (true "true") (> ">") (parenthesized_expression "(this)" (( "(") (identifier "this") () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "sized_write_ehdr<64u,false>(this);" (comma_expression "sized_write_ehdr<64u,false>(this)" (binary_expression "sized_write_ehdr<64u" (identifier "sized_write_ehdr") (< "<") (number_literal "64u")) (, ",") (binary_expression "false>(this)" (false "false") (> ">") (parenthesized_expression "(this)" (( "(") (identifier "this") () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070)" (( "(") (binary_expression "PTR_LAB_0043220c + 0x4494" (identifier "PTR_LAB_0043220c") (+ "+") (number_literal "0x4494")) (, ",") (number_literal "0x82f") (, ",") (binary_expression "PTR_LAB_0043220c + 0x5070" (identifier "PTR_LAB_0043220c") (+ "+") (number_literal "0x5070")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x000aec4c) */
/* WARNING: Removing unreachable block (ram,0x000aec60) */
/* WARNING: Removing unreachable block (ram,0x000aed2c) */
/* WARNING: Removing unreachable block (ram,0x000aed48) */
/* WARNING: Removing unreachable block (ram,0x000aed58) */
/* WARNING: Removing unreachable block (ram,0x000aee90) */
/* WARNING: Removing unreachable block (ram,0x000aeec8) */
/* WARNING: Removing unreachable block (ram,0x000aef40) */
/* WARNING: Removing unreachable block (ram,0x000aeffc) */
/* WARNING: Removing unreachable block (ram,0x000af00c) */
/* WARNING: Removing unreachable block (ram,0x000af014) */
/* WARNING: Removing unreachable block (ram,0x000af020) */
/* WARNING: Removing unreachable block (ram,0x000aef58) */
/* WARNING: Removing unreachable block (ram,0x000aef64) */
/* WARNING: Removing unreachable block (ram,0x000aefe0) */
/* WARNING: Removing unreachable block (ram,0x000aefe4) */
/* WARNING: Removing unreachable block (ram,0x000af038) */
/* WARNING: Removing unreachable block (ram,0x000af380) */
/* WARNING: Removing unreachable block (ram,0x000af398) */
/* WARNING: Removing unreachable block (ram,0x000af044) */
/* WARNING: Removing unreachable block (ram,0x000af378) */
/* WARNING: Removing unreachable block (ram,0x000af054) */
/* WARNING: Removing unreachable block (ram,0x000af058) */
/* WARNING: Removing unreachable block (ram,0x000af400) */
/* WARNING: Removing unreachable block (ram,0x000af0e8) */
/* WARNING: Removing unreachable block (ram,0x000af41c) */
/* WARNING: Removing unreachable block (ram,0x000af150) */
/* WARNING: Removing unreachable block (ram,0x000af180) */
/* WARNING: Removing unreachable block (ram,0x000af184) */
/* WARNING: Removing unreachable block (ram,0x000af19c) */
/* WARNING: Removing unreachable block (ram,0x000af1a0) */
/* WARNING: Removing unreachable block (ram,0x000af210) */
/* WARNING: Removing unreachable block (ram,0x000af214) */
/* WARNING: Removing unreachable block (ram,0x000af218) */
/* WARNING: Removing unreachable block (ram,0x000af21c) */
/* WARNING: Removing unreachable block (ram,0x000af23c) */
/* WARNING: Removing unreachable block (ram,0x000af250) */
/* WARNING: Removing unreachable block (ram,0x000af2cc) */
/* WARNING: Removing unreachable block (ram,0x000af2d0) */
/* WARNING: Removing unreachable block (ram,0x000af330) */
/* WARNING: Removing unreachable block (ram,0x000af344) */
/* WARNING: Removing unreachable block (ram,0x000af440) */
/* WARNING: Removing unreachable block (ram,0x000af4d0) */
/* WARNING: Removing unreachable block (ram,0x000af508) */
/* WARNING: Removing unreachable block (ram,0x000af750) */
/* WARNING: Removing unreachable block (ram,0x000af51c) */
/* WARNING: Removing unreachable block (ram,0x000af53c) */
/* WARNING: Removing unreachable block (ram,0x000af5bc) */
/* WARNING: Removing unreachable block (ram,0x000af54c) */
/* WARNING: Removing unreachable block (ram,0x000af5f0) */
/* WARNING: Removing unreachable block (ram,0x000af57c) */
/* WARNING: Removing unreachable block (ram,0x000af62c) */
/* WARNING: Removing unreachable block (ram,0x000af63c) */
/* WARNING: Removing unreachable block (ram,0x000af7c0) */
/* WARNING: Removing unreachable block (ram,0x000af7c8) */
/* WARNING: Removing unreachable block (ram,0x000af7d0) */
/* WARNING: Removing unreachable block (ram,0x000af7d4) */
/* WARNING: Removing unreachable block (ram,0x000af7ec) */
/* WARNING: Removing unreachable block (ram,0x000af644) */
/* WARNING: Removing unreachable block (ram,0x000af7ac) */
/* WARNING: Removing unreachable block (ram,0x000af684) */
/* WARNING: Removing unreachable block (ram,0x000af694) */
/* WARNING: Removing unreachable block (ram,0x000af6bc) */
/* WARNING: Removing unreachable block (ram,0x000af6c4) */
/* WARNING: Removing unreachable block (ram,0x000af6c8) */
/* WARNING: Removing unreachable block (ram,0x000af714) */
/* WARNING: Removing unreachable block (ram,0x000af808) */
/* WARNING: Removing unreachable block (ram,0x000af834) */
/* WARNING: Removing unreachable block (ram,0x000af8a4) */
/* WARNING: Removing unreachable block (ram,0x000af8d4) */
/* WARNING: Removing unreachable block (ram,0x000af9ac) */
/* WARNING: Removing unreachable block (ram,0x000af9cc) */
/* WARNING: Removing unreachable block (ram,0x000af9f4) */
/* WARNING: Removing unreachable block (ram,0x000af9d4) */
/* WARNING: Removing unreachable block (ram,0x000af908) */
/* WARNING: Removing unreachable block (ram,0x000af970) */
/* WARNING: Removing unreachable block (ram,0x000af914) */
/* WARNING: Removing unreachable block (ram,0x000aec94) */
/* WARNING: Enum "DW_SECT": Some values do not have unique names */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void write_ehdr(Dwp_output_file * this) */

void __thiscall var_9::type_1::function_1(type_1 *this)

{
  type_2 *var_7;
  char *pcVar2;
  type_2 *puVar3;
  type_3 __position;
  type_2 *var_8;
  type_4 SStack_60;
  
  if (this->size_ == 0x20) {
    if (this->big_endian_ != 0) {
      var_1<32,var_2>(this);
      return;
    }
    var_1<32,var_3>(this);
    return;
  }
  if (this->size_ == 0x40) {
    if (this->big_endian_ != 0) {
      var_1<64,var_2>(this);
      return;
    }
    var_1<64,var_3>(this);
    return;
  }
  pcVar2 = (char *)0x82f;
  puVar3 = var_4 + 0x5070;
  var_7 = var_4 + 0x4494;
  var_8 = PTR_do_gold_unreachable_004323c4;
  (*(type_5 *)PTR_do_gold_unreachable_004323c4)();
  SStack_60.size = 0;
  SStack_60.contributions.
  super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
  ._M_impl._M_start = (type_6)0x0;
  SStack_60.contributions.
  super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
  ._M_impl._M_finish = (type_6)0x0;
  SStack_60.contributions.
  super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
  ._M_impl._M_end_of_storage = (type_6)0x0;
  SStack_60.offset._4_4_ = 0;
  SStack_60.offset._0_4_ = 0;
  __position._M_current = *(type_4 **)(var_7 + 0x30);
  SStack_60.name = pcVar2;
  SStack_60.align = (int)puVar3;
  if (__position._M_current == *(type_4 **)(var_7 + 0x34)) {
    std::vector<var_9::Dwp_output_file::type_4,_std::allocator<var_9::Dwp_output_file::type_4>var_6>::
    _M_realloc_insert<const_gold::Dwp_output_file::type_4&>
              ((vector<var_9::Dwp_output_file::type_4,_std::allocator<var_9::Dwp_output_file::type_4>var_6>
                *)(var_7 + 0x2c),__position,&SStack_60);
  }
  else {
    (__position._M_current)->name = pcVar2;
    *(type_7 *)((int)&(__position._M_current)->offset + 4) = 0;
    *(type_7 *)&(__position._M_current)->offset = 0;
    (__position._M_current)->size = 0;
    (__position._M_current)->align = (int)puVar3;
    ((__position._M_current)->contributions).
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_start = (type_6)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_finish = (type_6)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_end_of_storage = (type_6)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_start = (type_6)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_finish = (type_6)0x0;
    ((__position._M_current)->contributions).
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_end_of_storage = (type_6)0x0;
    SStack_60.contributions.
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_end_of_storage = (type_6)0x0;
    SStack_60.contributions.
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_finish = (type_6)0x0;
    SStack_60.contributions.
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_start = (type_6)0x0;
    SStack_60.size = 0;
    SStack_60.offset._4_4_ = 0;
    SStack_60.offset._0_4_ = 0;
    ((__position._M_current)->contributions).
    super__Vector_base<var_9::Dwp_output_file::var_5,_std::allocator<var_9::Dwp_output_file::var_5>var_6>
    ._M_impl._M_finish = (type_6)0x0;
    *(type_4 **)(var_7 + 0x30) = __position._M_current + 1;
  }
  *(int *)(var_7 + 0x28) = *(int *)(var_7 + 0x28) + 1;
  if (SStack_60.contributions.
      super__Vector_base<var_9::type_1::var_5,_std::allocator<var_9::type_1::var_5>var_6>
      ._M_impl._M_start != (type_6)0x0) {
    (**(type_5 **)(var_8 + 0x3836ec))
              (SStack_60.contributions.
               super__Vector_base<var_9::type_1::var_5,_std::allocator<var_9::type_1::var_5>var_6>
               ._M_impl._M_start);
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (true) right: (parenthesized_expression (identifier))))) (return_statement))) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (parenthesized_expression (identifier))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (true) right: (parenthesized_expression (identifier))))) (return_statement))) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (parenthesized_expression (identifier))))) (return_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))))

/* gold::Dwp_output_file::MASKED() */

void __thiscall gold::Dwp_output_file::MASKED(Dwp_output_file *this)

{
  if (*(int *)(this + 8) == 0x20) {
    if (*(int *)(this + 0xc) != 0) {
      sized_MASKED<32u,true>(this);
      return;
    }
    sized_MASKED<32u,false>(this);
    return;
  }
  if (*(int *)(this + 8) == 0x40) {
    if (*(int *)(this + 0xc) != 0) {
      sized_MASKED<64u,true>(this);
      return;
    }
    sized_MASKED<64u,false>(this);
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_LAB_0043220c + 0x4494,0x82f,PTR_LAB_0043220c + 0x5070);
  return;
}

