
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original name: layout_reloc<32, true>
   DWARF original prototype: Output_section * layout_reloc<32,_true>(Layout * this,
   Sized_relobj_file<32,_true> * param_3, uint param_4, Shdr<32,_true> * shdr, Output_section *
   data_section, Relocatable_relocs * rr) */

Output_section * __thiscall
gold::Layout::layout_reloc<32,_true>
          (Layout *this,Sized_relobj_file<32,_true> *param_1,uint param_2,Shdr<32,_true> *shdr,
          Output_section *data_section,Relocatable_relocs *rr)

{
  byte bVar1;
  int iVar2;
  uint uVar3;
  Output_data *pOVar4;
  char *name_00;
  Output_section *pOVar5;
  undefined *puVar6;
  Output_data *posd;
  Output_section_order order;
  Elf_Word unaff_s0;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *unaff_s3;
  Output_section *pOVar7;
  undefined4 uVar8;
  undefined8 uVar9;
  string name;
  
  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);
  if (iVar2 == 0) {
    posd = (Output_data *)&DAT_0000005c;
    pOVar5 = (Output_section *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);
    (*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar5,0x5c,PTR_s__s_004c1a50 + 0x47cc);
LAB_001c19d4:
                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */
    Relocatable_relocs::set_output_data((Relocatable_relocs *)pOVar5,posd);
LAB_001c19e4:
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);
LAB_001c1a00:
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);
  }
  else {
    if ((*(char *)(iVar2 + 0x3195) != '\0') || (*(char *)(iVar2 + 0x309d) != '\0')) {
      unaff_s3 = &name.field_2;
      unaff_s0 = shdr->p_->sh_type;
      name._M_string_length = 0;
      name.field_2._M_local_buf[0] = '\0';
      name._M_dataplus._M_p = (pointer)unaff_s3;
      if (unaff_s0 == 9) goto LAB_001c1820;
      if (unaff_s0 == 4) {
                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */
        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);
        goto LAB_001c16b0;
      }
      goto LAB_001c19e4;
    }
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);
LAB_001c1820:
                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */
    (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4);
LAB_001c16b0:
    uVar8 = *(undefined4 *)&(data_section->super_Output_data).field_0x24;
    uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar8);
    if (0x7fffffff - name._M_string_length < uVar3) {
      pOVar5 = (Output_section *)
               (*(code *)PTR___throw_length_error_004c1e74)
                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
      return pOVar5;
    }
    (*(code *)PTR__M_append_004c1e68)(&name,uVar8,uVar3);
    pOVar7 = data_section->reloc_section_;
    if (pOVar7 != (Output_section *)0x0) {
LAB_001c16fc:
      if (unaff_s0 == 9) {
        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);
        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);
                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */
        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);
        bVar1 = pOVar4->field_0x20;
        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);
        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;
        puVar6 = PTR_vtable_004c2468;
        *(undefined4 *)&pOVar4->address_ = 0;
        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;
        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;
        *(undefined4 *)&pOVar4->field_0x24 = 0;
        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;
        *(undefined4 *)&pOVar4->data_size_ = 0;
        pOVar4->field_0x20 = bVar1 & 7;
        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;
        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);
        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;
LAB_001c1798:
        pOVar5 = pOVar7;
        posd = pOVar4;
                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */
        (*(code *)PTR_add_output_section_data_004c2104)();
        if (rr->posd_ == (Output_data *)0x0) {
          rr->posd_ = pOVar4;
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)name._M_dataplus._M_p != unaff_s3) {
            (*(code *)PTR_operator_delete_004c12fc)();
          }
          return pOVar7;
        }
        goto LAB_001c19d4;
      }
      if (unaff_s0 == 4) {
        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);
        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);
                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */
        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);
        bVar1 = pOVar4->field_0x20;
        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);
        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;
        puVar6 = PTR_vtable_004c2464;
        *(undefined4 *)&pOVar4->address_ = 0;
        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;
        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;
        *(undefined4 *)&pOVar4->field_0x24 = 0;
        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;
        *(undefined4 *)&pOVar4->data_size_ = 0;
        pOVar4->field_0x20 = bVar1 & 7;
        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;
        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);
        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;
        goto LAB_001c1798;
      }
      goto LAB_001c1a00;
    }
    order = ORDER_INVALID;
                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */
    name_00 = (char *)(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1);
    pOVar7 = make_output_section(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false);
    if (((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)) ||
       ((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0)) goto LAB_001c1a40;
    uVar3 = *(uint *)&pOVar7->field_0x98 & 0xdfffffff;
    *(uint *)&pOVar7->field_0x98 = uVar3 | 0x20000000;
    if ((((pOVar7->info_section_ == (Output_section *)0x0) ||
         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&
        (pOVar7->info_symndx_ == (Symbol *)0x0)) && (pOVar7->info_ == 0)) {
      pOVar7->info_section_ = data_section;
      *(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000;
      data_section->reloc_section_ = pOVar7;
      goto LAB_001c16fc;
    }
  }
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,PTR_s__s_004c1a50 + 0x4240);
LAB_001c1a40:
  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xd1b,PTR_s__s_004c1a50 + 0x4254);
                    /* catch() { ... } // from try @ 001c16a4 with catch @ 001c1a54
                       catch() { ... } // from try @ 001c17a0 with catch @ 001c1a54
                       catch() { ... } // from try @ 001c1840 with catch @ 001c1a54
                       catch() { ... } // from try @ 001c18f0 with catch @ 001c1a54
                       catch() { ... } // from try @ 001c19dc with catch @ 001c1a54 */
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)name._M_dataplus._M_p != unaff_s3) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  pOVar5 = (Output_section *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar6);
  return pOVar5;
}



/* gold::Output_section* gold::Layout::layout_reloc<32, true>(gold::Sized_relobj_file<32, true>*,
   unsigned int, elfcpp::Shdr<32, true> const&, gold::Output_section*, gold::Relocatable_relocs*) */

Output_section * __thiscall
gold::Layout::layout_reloc<32,true>
          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,
          Output_section *param_4,Relocatable_relocs *param_5)

{
  undefined *puVar1;
  int iVar2;
  uint uVar3;
  undefined4 *puVar4;
  Output_section *pOVar5;
  undefined4 uVar6;
  undefined8 uVar7;
  undefined1 *local_40;
  int local_3c;
  undefined1 local_38 [20];
  
  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);
  if (iVar2 == 0) {
    pOVar5 = (Output_section *)
             (*(code *)PTR_do_gold_unreachable_004c1a30)
                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,
                        PTR_s__s_004c1a50 + 0x47cc);
    return pOVar5;
  }
  if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {
    pOVar5 = (Output_section *)
             (*(code *)PTR_do_gold_unreachable_004c1a30)
                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);
    return pOVar5;
  }
  iVar2 = *(int *)(*(int *)param_3 + 4);
  local_3c = 0;
  local_38[0] = 0;
  local_40 = local_38;
  if (iVar2 == 9) {
                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */
    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);
  }
  else {
    if (iVar2 != 4) goto LAB_001c19e4;
                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */
    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);
  }
  uVar6 = *(undefined4 *)(param_4 + 0x24);
  uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);
  if (0x7fffffffU - local_3c < uVar3) {
    pOVar5 = (Output_section *)
             (*(code *)PTR___throw_length_error_004c1e74)
                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
    return pOVar5;
  }
  (*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);
  pOVar5 = *(Output_section **)(param_4 + 0xf8);
  if (pOVar5 == (Output_section *)0x0) {
                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */
    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);
    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);
    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||
       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {
      pOVar5 = (Output_section *)
               (*(code *)PTR_do_gold_unreachable_004c1a30)
                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,
                          PTR_s__s_004c1a50 + 0x4254);
      return pOVar5;
    }
    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;
    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;
    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&
         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||
        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {
      pOVar5 = (Output_section *)
               (*(code *)PTR_do_gold_unreachable_004c1a30)
                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,
                          PTR_s__s_004c1a50 + 0x4240);
      return pOVar5;
    }
    *(Output_section **)(pOVar5 + 0x48) = param_4;
    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;
    *(Output_section **)(param_4 + 0xf8) = pOVar5;
  }
  if (iVar2 == 9) {
    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);
    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);
                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */
    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);
    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);
    puVar4[3] = 0;
    puVar1 = PTR_vtable_004c2468;
    puVar4[2] = 0;
    puVar4[7] = 0xffffffff;
    puVar4[6] = 0xffffffff;
    puVar4[9] = 0;
    puVar4[5] = 0;
    puVar4[4] = 0;
    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;
    puVar4[0xb] = (int)uVar7;
    *puVar4 = puVar1 + 8;
    puVar4[0xc] = param_5;
  }
  else {
    if (iVar2 != 4) {
      pOVar5 = (Output_section *)
               (*(code *)PTR_do_gold_unreachable_004c1a30)
                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);
      return pOVar5;
    }
    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);
    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);
                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */
    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);
    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);
    puVar4[3] = 0;
    puVar1 = PTR_vtable_004c2464;
    puVar4[2] = 0;
    puVar4[7] = 0xffffffff;
    puVar4[6] = 0xffffffff;
    puVar4[9] = 0;
    puVar4[5] = 0;
    puVar4[4] = 0;
    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;
    puVar4[0xb] = (int)uVar7;
    *puVar4 = puVar1 + 8;
    puVar4[0xc] = param_5;
  }
                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */
  (*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);
  if (*(int *)(param_5 + 0x10) == 0) {
    *(undefined4 **)(param_5 + 0x10) = puVar4;
    if (local_40 != local_38) {
      (*(code *)PTR_operator_delete_004c12fc)();
    }
    return pOVar5;
  }
                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */
  FUN_001af244();
LAB_001c19e4:
  pOVar5 = (Output_section *)
           (*(code *)PTR_do_gold_unreachable_004c1a30)
                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);
  return pOVar5;
}


lui gp,0x30
addiu gp,gp,0x7c44
addu gp,gp,t9
lw v0,-0x788c(gp)
addiu sp,sp,-0x68
sw gp,0x20(sp)
lw v0,0x0(v0)
sw s2,0x4c(sp)
sw s1,0x48(sp)
sw ra,0x64(sp)
sw s7,0x60(sp)
sw s6,0x5c(sp)
sw s5,0x58(sp)
sw s4,0x54(sp)
sw s3,0x50(sp)
sw s0,0x44(sp)
lw v0,0x8(v0)
lw s2,0x78(sp)
beq v0,zero,0x001c19b8
_lw s1,0x7c(sp)
lbu v1,0x3195(v0)
or s6,a0,zero
beq v1,zero,0x001c17fc
_or s5,a3,zero
lw v1,0x0(s5)
addiu s3,sp,0x30
li v0,0x9
sw s3,0x28(sp)
lw s0,0x4(v1)
sw zero,0x2c(sp)
beq s0,v0,0x001c1820
_sb zero,0x30(sp)
li v0,0x4
bne s0,v0,0x001c19e4
_lw a3,-0x77f0(gp)
addiu s4,sp,0x28
li v0,0x5
lw t9,-0x71a0(gp)
or a2,zero,zero
addiu a3,a3,0x3f18
sw v0,0x10(sp)
or a1,zero,zero
jalr t9
_or a0,s4,zero
lw gp,0x20(sp)
lw s7,0x24(s2)
lw t9,-0x36a4(gp)
jalr t9
_or a0,s7,zero
lui v1,0x7fff
lw a0,0x2c(sp)
ori v1,v1,0xffff
subu v1,v1,a0
sltu v1,v1,v0
bne v1,zero,0x001c19a8
_lw gp,0x20(sp)
lw t9,-0x73d8(gp)
or a2,v0,zero
or a1,s7,zero
jalr t9
_or a0,s4,zero
lw s4,0xf8(s2)
beq s4,zero,0x001c18e0
_lw gp,0x20(sp)
li v0,0x9
beq s0,v0,0x001c1850
_li v0,0x4
bne s0,v0,0x001c1a00
_lw t9,-0x77d4(gp)
li a3,0xc
or a2,zero,zero
jalr t9
_or a0,s4,zero
lw gp,0x20(sp)
lw t9,-0x7e98(gp)
jalr t9
_li a0,0x38
lw gp,0x20(sp)
li a0,0x20
lw t9,-0x773c(gp)
jalr t9
_or s0,v0,zero
lw gp,0x20(sp)
or t1,zero,zero
lbu a0,0x20(s0)
or t0,zero,zero
sw v0,0x28(s0)
li a3,-0x1
li a2,-0x1
sw t1,0xc(s0)
lw v0,-0x6ddc(gp)
andi a0,a0,0x7
sw t0,0x8(s0)
sw a3,0x1c(s0)
addiu v0,v0,0x8
sw a2,0x18(s0)
sw zero,0x24(s0)
sw t1,0x14(s0)
sw t0,0x10(s0)
sb a0,0x20(s0)
sw v1,0x2c(s0)
sw v0,0x0(s0)
sw s1,0x30(s0)
lw t9,-0x713c(gp)
or a1,s0,zero
jalr t9
_or a0,s4,zero
lw v0,0x10(s1)
bne v0,zero,0x001c19d4
_lw gp,0x20(sp)
lw a0,0x28(sp)
beq a0,s3,0x001c17cc
_sw s0,0x10(s1)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw ra,0x64(sp)
or v0,s4,zero
lw s7,0x60(sp)
lw s6,0x5c(sp)
lw s5,0x58(sp)
lw s4,0x54(sp)
lw s3,0x50(sp)
lw s2,0x4c(sp)
lw s1,0x48(sp)
lw s0,0x44(sp)
jr ra
_addiu sp,sp,0x68
lbu v0,0x309d(v0)
bne v0,zero,0x001c165c
_lw a2,-0x77f0(gp)
li a1,0x52d
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x4220
jalr t9
_addiu a0,a0,0x320c
lw a3,-0x77f0(gp)
addiu s4,sp,0x28
li v0,0x4
lw t9,-0x71a0(gp)
or a2,zero,zero
addiu a3,a3,0x3f10
sw v0,0x10(sp)
or a1,zero,zero
jalr t9
_or a0,s4,zero
b 0x001c16b0
_lw gp,0x20(sp)
lw t9,-0x77d4(gp)
li a3,0x8
or a2,zero,zero
jalr t9
_or a0,s4,zero
lw gp,0x20(sp)
lw t9,-0x7e98(gp)
jalr t9
_li a0,0x38
lw gp,0x20(sp)
li a0,0x20
lw t9,-0x773c(gp)
jalr t9
_or s0,v0,zero
lw gp,0x20(sp)
or t1,zero,zero
lbu a0,0x20(s0)
or t0,zero,zero
sw v0,0x28(s0)
li a3,-0x1
li a2,-0x1
sw t1,0xc(s0)
lw v0,-0x6dd8(gp)
andi a0,a0,0x7
sw t0,0x8(s0)
sw a3,0x1c(s0)
addiu v0,v0,0x8
sw a2,0x18(s0)
sw zero,0x24(s0)
sw t1,0x14(s0)
sw t0,0x10(s0)
sb a0,0x20(s0)
sw v1,0x2c(s0)
sw v0,0x0(s0)
b 0x001c1798
_sw s1,0x30(s0)
lw a1,0x28(sp)
or a3,zero,zero
lw t9,-0x759c(gp)
li a2,0x1
jalr t9
_addiu a0,s6,0x8
lw v1,0x0(s5)
or a1,v0,zero
lw gp,0x20(sp)
or a2,s0,zero
sw zero,0x1c(sp)
or a0,s6,zero
sw zero,0x18(sp)
lw v0,0x8(v1)
lw t9,-0x700c(gp)
sw zero,0x10(sp)
bal 0x001b5aac
_sw v0,0x14(sp)
or s4,v0,zero
lw v0,0x40(v0)
bne v0,zero,0x001c1a38
_lw gp,0x20(sp)
lw v0,0x44(s4)
bne v0,zero,0x001c1a3c
_lw a2,-0x77f0(gp)
lw v0,0x98(s4)
ext v1,v0,0x1c,0x1
bne v1,zero,0x001c1a40
_li a1,0xd1b
li a0,0x1
lw v1,0x48(s4)
ins v0,a0,0x1d,0x1
beq v1,zero,0x001c1978
_sw v0,0x98(s4)
bne s2,v1,0x001c1a1c
_ext v0,v0,0x17,0x1
beq v0,zero,0x001c1a1c
_nop
lw v0,0x4c(s4)
bne v0,zero,0x001c1a1c
_nop
lw v0,0x50(s4)
bne v0,zero,0x001c1a1c
_li v1,0x1
lw v0,0x98(s4)
sw s2,0x48(s4)
ins v0,v1,0x17,0x1
sw v0,0x98(s4)
b 0x001c16fc
_sw s4,0xf8(s2)
lw a0,-0x7fc4(gp)
lw t9,-0x73cc(gp)
jalr t9
_addiu a0,a0,0x446c
lw a2,-0x77f0(gp)
li a1,0x5c
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x47cc
jalr t9
_addiu a0,a0,-0x9b8
lw t9,-0x7144(gp)
addiu t9,t9,-0xdbc
bal 0x001af244
_nop
lw a2,-0x77f0(gp)
li a1,0x537
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x4220
jalr t9
_addiu a0,a0,0x320c
lw a2,-0x77f0(gp)
li a1,0x557
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x4220
jalr t9
_addiu a0,a0,0x320c
lw a2,-0x77f0(gp)
li a1,0xd3a
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x4240
jalr t9
_addiu a0,a0,0x3574
lw a2,-0x77f0(gp)
li a1,0xd1b
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x4254
jalr t9
_addiu a0,a0,0x3574
(translation_unit "/* gold::Output_section* gold::Layout::layout_reloc<32, true>(gold::Sized_relobj_file<32, true>*,\n   unsigned int, elfcpp::Shdr<32, true> const&, gold::Output_section*, gold::Relocatable_relocs*) */\n\nOutput_section * __thiscall\ngold::Layout::layout_reloc<32,true>\n          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 *puVar4;\n  Output_section *pOVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined1 *local_40;\n  int local_3c;\n  undefined1 local_38 [20];\n  \n  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);\n  if (iVar2 == 0) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }\n  if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }\n  iVar2 = *(int *)(*(int *)param_3 + 4);\n  local_3c = 0;\n  local_38[0] = 0;\n  local_40 = local_38;\n  if (iVar2 == 9) {\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }\n  else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }\n  uVar6 = *(undefined4 *)(param_4 + 0x24);\n  uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);\n  if (0x7fffffffU - local_3c < uVar3) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }\n  (*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);\n  pOVar5 = *(Output_section **)(param_4 + 0xf8);\n  if (pOVar5 == (Output_section *)0x0) {\n                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */\n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }\n  if (iVar2 == 9) {\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n  else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n  (*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);\n  if (*(int *)(param_5 + 0x10) == 0) {\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }\n                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */\n  FUN_001af244();\nLAB_001c19e4:\n  pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);\n  return pOVar5;\n}\n\n" comment (ERROR "Output_section * __thiscall\ngold::Layout::layout_reloc<32,true>\n          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout_reloc<32,true>\n          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout_reloc<32" (binary_expression "Output_section * __thiscall" identifier * identifier) (ERROR "gold::Layout::layout_reloc" identifier : : identifier : : identifier) < number_literal) (ERROR ",true" , true) > (parenthesized_expression "(Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)" ( (comma_expression "Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Layout *this" identifier * identifier) , (comma_expression "Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Sized_relobj_file *param_1" identifier * identifier) , (ERROR "uint" identifier) (comma_expression "param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" identifier , (comma_expression "Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Shdr *param_3" identifier * identifier) , (comma_expression "Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Output_section *param_4" identifier * identifier) , (binary_expression "Relocatable_relocs *param_5" identifier * identifier)))))) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 *puVar4;\n  Output_section *pOVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined1 *local_40;\n  int local_3c;\n  undefined1 local_38 [20];\n  \n  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);\n  if (iVar2 == 0) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }\n  if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }\n  iVar2 = *(int *)(*(int *)param_3 + 4);\n  local_3c = 0;\n  local_38[0] = 0;\n  local_40 = local_38;\n  if (iVar2 == 9) {\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }\n  else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }\n  uVar6 = *(undefined4 *)(param_4 + 0x24);\n  uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);\n  if (0x7fffffffU - local_3c < uVar3) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }\n  (*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);\n  pOVar5 = *(Output_section **)(param_4 + 0xf8);\n  if (pOVar5 == (Output_section *)0x0) {\n                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */\n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }\n  if (iVar2 == 9) {\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n  else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n  (*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);\n  if (*(int *)(param_5 + 0x10) == 0) {\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }\n                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */\n  FUN_001af244();\nLAB_001c19e4:\n  pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);\n  return pOVar5;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "Output_section *pOVar5;" type_identifier (pointer_declarator "*pOVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined1 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined1 local_38 [20];" type_identifier (array_declarator "local_38 [20]" identifier [ number_literal ]) ;) (expression_statement "iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);" (assignment_expression "iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }" { (expression_statement "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);" (assignment_expression "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" identifier = (cast_expression "(Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x47cc" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (if_statement "if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }" if (parenthesized_expression "((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0'))" ( (binary_expression "(*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')" (parenthesized_expression "(*(char *)(iVar2 + 0x3195) == '\0')" ( (binary_expression "*(char *)(iVar2 + 0x3195) == '\0'" (pointer_expression "*(char *)(iVar2 + 0x3195)" * (cast_expression "(char *)(iVar2 + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3195)" ( (binary_expression "iVar2 + 0x3195" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar2 + 0x309d) == '\0')" ( (binary_expression "*(char *)(iVar2 + 0x309d) == '\0'" (pointer_expression "*(char *)(iVar2 + 0x309d)" * (cast_expression "(char *)(iVar2 + 0x309d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x309d)" ( (binary_expression "iVar2 + 0x309d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }" { (expression_statement "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);" (assignment_expression "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" identifier = (cast_expression "(Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" ( (binary_expression "PTR_s__s_004c1a50 + 0x320c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4220" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "iVar2 = *(int *)(*(int *)param_3 + 4);" (assignment_expression "iVar2 = *(int *)(*(int *)param_3 + 4)" identifier = (pointer_expression "*(int *)(*(int *)param_3 + 4)" * (cast_expression "(int *)(*(int *)param_3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_3 + 4)" ( (binary_expression "*(int *)param_3 + 4" (pointer_expression "*(int *)param_3" * (cast_expression "(int *)param_3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38[0] = 0;" (assignment_expression "local_38[0] = 0" (subscript_expression "local_38[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" identifier = identifier) ;) (if_statement "if (iVar2 == 9) {\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }\n  else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }" if (parenthesized_expression "(iVar2 == 9)" ( (binary_expression "iVar2 == 9" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }" { comment (expression_statement "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4)" ( (pointer_expression "&local_40" & identifier) , number_literal , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x3f10" identifier + number_literal) , number_literal ))) ;) }) (else_clause "else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }" else (compound_statement "{\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }" { (if_statement "if (iVar2 != 4) goto LAB_001c19e4;" if (parenthesized_expression "(iVar2 != 4)" ( (binary_expression "iVar2 != 4" identifier != number_literal) )) (goto_statement "goto LAB_001c19e4;" goto statement_identifier ;)) comment (expression_statement "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5)" ( (pointer_expression "&local_40" & identifier) , number_literal , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x3f18" identifier + number_literal) , number_literal ))) ;) }))) (expression_statement "uVar6 = *(undefined4 *)(param_4 + 0x24);" (assignment_expression "uVar6 = *(undefined4 *)(param_4 + 0x24)" identifier = (pointer_expression "*(undefined4 *)(param_4 + 0x24)" * (cast_expression "(undefined4 *)(param_4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x24)" ( (binary_expression "param_4 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(uVar6)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier )))) ;) (if_statement "if (0x7fffffffU - local_3c < uVar3) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }" if (parenthesized_expression "(0x7fffffffU - local_3c < uVar3)" ( (binary_expression "0x7fffffffU - local_3c < uVar3" (binary_expression "0x7fffffffU - local_3c" number_literal - identifier) < identifier) )) (compound_statement "{\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }" { (expression_statement "pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" identifier = (cast_expression "(Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);" (call_expression "(*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_40,uVar6,uVar3)" ( (pointer_expression "&local_40" & identifier) , identifier , identifier ))) ;) (expression_statement "pOVar5 = *(Output_section **)(param_4 + 0xf8);" (assignment_expression "pOVar5 = *(Output_section **)(param_4 + 0xf8)" identifier = (pointer_expression "*(Output_section **)(param_4 + 0xf8)" * (cast_expression "(Output_section **)(param_4 + 0xf8)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xf8)" ( (binary_expression "param_4 + 0xf8" identifier + number_literal) ))))) ;) (if_statement "if (pOVar5 == (Output_section *)0x0) {\n                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */\n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }" if (parenthesized_expression "(pOVar5 == (Output_section *)0x0)" ( (binary_expression "pOVar5 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */\n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }" { comment (expression_statement "uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);" (assignment_expression "uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0)" identifier = (call_expression "(*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0)" (parenthesized_expression "(*(code *)PTR_add_004c1ca4)" ( (pointer_expression "*(code *)PTR_add_004c1ca4" * (cast_expression "(code *)PTR_add_004c1ca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this + 8,local_40,1,0)" ( (binary_expression "this + 8" identifier + number_literal) , identifier , number_literal , number_literal )))) ;) (expression_statement "pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);" (assignment_expression "pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2)" identifier = (cast_expression "(Output_section *)make_output_section(this,uVar6,iVar2)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "make_output_section(this,uVar6,iVar2)" identifier (argument_list "(this,uVar6,iVar2)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }" if (parenthesized_expression "(((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0))" ( (binary_expression "((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)" (parenthesized_expression "((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0))" ( (binary_expression "(*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)" (parenthesized_expression "(*(int *)(pOVar5 + 0x40) != 0)" ( (binary_expression "*(int *)(pOVar5 + 0x40) != 0" (pointer_expression "*(int *)(pOVar5 + 0x40)" * (cast_expression "(int *)(pOVar5 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x40)" ( (binary_expression "pOVar5 + 0x40" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(pOVar5 + 0x44) != 0)" ( (binary_expression "*(int *)(pOVar5 + 0x44) != 0" (pointer_expression "*(int *)(pOVar5 + 0x44)" * (cast_expression "(int *)(pOVar5 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x44)" ( (binary_expression "pOVar5 + 0x44" identifier + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)" ( (binary_expression "(int)(*(uint *)(pOVar5 + 0x98) << 3) < 0" (cast_expression "(int)(*(uint *)(pOVar5 + 0x98) << 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)(pOVar5 + 0x98) << 3)" ( (binary_expression "*(uint *)(pOVar5 + 0x98) << 3" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) << number_literal) ))) < number_literal) ))) )) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }" { (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" identifier = (cast_expression "(Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4254" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;" (assignment_expression "uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff" identifier = (binary_expression "*(uint *)(pOVar5 + 0x98) & 0xdfffffff" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;" (assignment_expression "*(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) = (binary_expression "uVar3 | 0x20000000" identifier | number_literal)) ;) (if_statement "if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }" if (parenthesized_expression "((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0))" ( (binary_expression "(((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)" (parenthesized_expression "(((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0))" ( (binary_expression "((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)" (parenthesized_expression "((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8)))))" ( (binary_expression "(*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))" (parenthesized_expression "(*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0)" ( (binary_expression "*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0" (pointer_expression "*(Output_section **)(pOVar5 + 0x48)" * (cast_expression "(Output_section **)(pOVar5 + 0x48)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pOVar5 + 0x48)" ( (binary_expression "pOVar5 + 0x48" identifier + number_literal) )))) != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))" ( (parenthesized_expression "(param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8)))" ( (binary_expression "param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))" (binary_expression "param_4 != *(Output_section **)(pOVar5 + 0x48)" identifier != (pointer_expression "*(Output_section **)(pOVar5 + 0x48)" * (cast_expression "(Output_section **)(pOVar5 + 0x48)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pOVar5 + 0x48)" ( (binary_expression "pOVar5 + 0x48" identifier + number_literal) ))))) || (parenthesized_expression "(-1 < (int)(uVar3 << 8))" ( (binary_expression "-1 < (int)(uVar3 << 8)" number_literal < (cast_expression "(int)(uVar3 << 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )))) ))) )) ))) )) || (parenthesized_expression "(*(int *)(pOVar5 + 0x4c) != 0)" ( (binary_expression "*(int *)(pOVar5 + 0x4c) != 0" (pointer_expression "*(int *)(pOVar5 + 0x4c)" * (cast_expression "(int *)(pOVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x4c)" ( (binary_expression "pOVar5 + 0x4c" identifier + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(int *)(pOVar5 + 0x50) != 0)" ( (binary_expression "*(int *)(pOVar5 + 0x50) != 0" (pointer_expression "*(int *)(pOVar5 + 0x50)" * (cast_expression "(int *)(pOVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x50)" ( (binary_expression "pOVar5 + 0x50" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }" { (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" identifier = (cast_expression "(Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4240" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "*(Output_section **)(pOVar5 + 0x48) = param_4;" (assignment_expression "*(Output_section **)(pOVar5 + 0x48) = param_4" (pointer_expression "*(Output_section **)(pOVar5 + 0x48)" * (cast_expression "(Output_section **)(pOVar5 + 0x48)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pOVar5 + 0x48)" ( (binary_expression "pOVar5 + 0x48" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;" (assignment_expression "*(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) = (binary_expression "*(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000" (binary_expression "*(uint *)(pOVar5 + 0x98) & 0xff7fffff" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*(Output_section **)(param_4 + 0xf8) = pOVar5;" (assignment_expression "*(Output_section **)(param_4 + 0xf8) = pOVar5" (pointer_expression "*(Output_section **)(param_4 + 0xf8)" * (cast_expression "(Output_section **)(param_4 + 0xf8)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xf8)" ( (binary_expression "param_4 + 0xf8" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (iVar2 == 9) {\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n  else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" if (parenthesized_expression "(iVar2 == 9)" ( (binary_expression "iVar2 == 9" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" { (expression_statement "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5);" (call_expression "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5)" (parenthesized_expression "(*(code *)PTR_set_entsize_004c1a6c)" ( (pointer_expression "*(code *)PTR_set_entsize_004c1a6c" * (cast_expression "(code *)PTR_set_entsize_004c1a6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar5)" ( identifier ))) ;) (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x38)" ( number_literal ))))) ;) comment (expression_statement "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);" (assignment_expression "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" identifier = (call_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (parenthesized_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)" ( (pointer_expression "*(code *)PTR_default_alignment_for_size_004c1b04" * (cast_expression "(code *)PTR_default_alignment_for_size_004c1b04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20)" ( number_literal )))) ;) (expression_statement "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);" (assignment_expression "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20)" (subscript_expression "puVar4[10]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar7 >> 0x20)" ( (binary_expression "(ulonglong)uVar7 >> 0x20" (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar4[3] = 0;" (assignment_expression "puVar4[3] = 0" (subscript_expression "puVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR_vtable_004c2468;" (assignment_expression "puVar1 = PTR_vtable_004c2468" identifier = identifier) ;) (expression_statement "puVar4[2] = 0;" (assignment_expression "puVar4[2] = 0" (subscript_expression "puVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[7] = 0xffffffff;" (assignment_expression "puVar4[7] = 0xffffffff" (subscript_expression "puVar4[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[6] = 0xffffffff;" (assignment_expression "puVar4[6] = 0xffffffff" (subscript_expression "puVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[9] = 0;" (assignment_expression "puVar4[9] = 0" (subscript_expression "puVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[5] = 0;" (assignment_expression "puVar4[5] = 0" (subscript_expression "puVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[4] = 0;" (assignment_expression "puVar4[4] = 0" (subscript_expression "puVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;" (assignment_expression "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" * (cast_expression "(byte *)(puVar4 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 8)" ( (binary_expression "puVar4 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" * (cast_expression "(byte *)(puVar4 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 8)" ( (binary_expression "puVar4 + 8" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar4[0xb] = (int)uVar7;" (assignment_expression "puVar4[0xb] = (int)uVar7" (subscript_expression "puVar4[0xb]" identifier [ number_literal ]) = (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar4 = puVar1 + 8;" (assignment_expression "*puVar4 = puVar1 + 8" (pointer_expression "*puVar4" * identifier) = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar4[0xc] = param_5;" (assignment_expression "puVar4[0xc] = param_5" (subscript_expression "puVar4[0xc]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" else (compound_statement "{\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" { (if_statement "if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }" if (parenthesized_expression "(iVar2 != 4)" ( (binary_expression "iVar2 != 4" identifier != number_literal) )) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }" { (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" identifier = (cast_expression "(Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" ( (binary_expression "PTR_s__s_004c1a50 + 0x320c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4220" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5);" (call_expression "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5)" (parenthesized_expression "(*(code *)PTR_set_entsize_004c1a6c)" ( (pointer_expression "*(code *)PTR_set_entsize_004c1a6c" * (cast_expression "(code *)PTR_set_entsize_004c1a6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar5)" ( identifier ))) ;) (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x38)" ( number_literal ))))) ;) comment (expression_statement "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);" (assignment_expression "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" identifier = (call_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (parenthesized_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)" ( (pointer_expression "*(code *)PTR_default_alignment_for_size_004c1b04" * (cast_expression "(code *)PTR_default_alignment_for_size_004c1b04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20)" ( number_literal )))) ;) (expression_statement "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);" (assignment_expression "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20)" (subscript_expression "puVar4[10]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar7 >> 0x20)" ( (binary_expression "(ulonglong)uVar7 >> 0x20" (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar4[3] = 0;" (assignment_expression "puVar4[3] = 0" (subscript_expression "puVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR_vtable_004c2464;" (assignment_expression "puVar1 = PTR_vtable_004c2464" identifier = identifier) ;) (expression_statement "puVar4[2] = 0;" (assignment_expression "puVar4[2] = 0" (subscript_expression "puVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[7] = 0xffffffff;" (assignment_expression "puVar4[7] = 0xffffffff" (subscript_expression "puVar4[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[6] = 0xffffffff;" (assignment_expression "puVar4[6] = 0xffffffff" (subscript_expression "puVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[9] = 0;" (assignment_expression "puVar4[9] = 0" (subscript_expression "puVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[5] = 0;" (assignment_expression "puVar4[5] = 0" (subscript_expression "puVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[4] = 0;" (assignment_expression "puVar4[4] = 0" (subscript_expression "puVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;" (assignment_expression "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" * (cast_expression "(byte *)(puVar4 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 8)" ( (binary_expression "puVar4 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" * (cast_expression "(byte *)(puVar4 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 8)" ( (binary_expression "puVar4 + 8" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar4[0xb] = (int)uVar7;" (assignment_expression "puVar4[0xb] = (int)uVar7" (subscript_expression "puVar4[0xb]" identifier [ number_literal ]) = (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar4 = puVar1 + 8;" (assignment_expression "*puVar4 = puVar1 + 8" (pointer_expression "*puVar4" * identifier) = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar4[0xc] = param_5;" (assignment_expression "puVar4[0xc] = param_5" (subscript_expression "puVar4[0xc]" identifier [ number_literal ]) = identifier) ;) }))) comment (expression_statement "(*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);" (call_expression "(*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4)" (parenthesized_expression "(*(code *)PTR_add_output_section_data_004c2104)" ( (pointer_expression "*(code *)PTR_add_output_section_data_004c2104" * (cast_expression "(code *)PTR_add_output_section_data_004c2104" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar5,puVar4)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(param_5 + 0x10) == 0) {\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }" if (parenthesized_expression "(*(int *)(param_5 + 0x10) == 0)" ( (binary_expression "*(int *)(param_5 + 0x10) == 0" (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }" { (expression_statement "*(undefined4 **)(param_5 + 0x10) = puVar4;" (assignment_expression "*(undefined4 **)(param_5 + 0x10) = puVar4" (pointer_expression "*(undefined4 **)(param_5 + 0x10)" * (cast_expression "(undefined4 **)(param_5 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) = identifier) ;) (if_statement "if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" if (parenthesized_expression "(local_40 != local_38)" ( (binary_expression "local_40 != local_38" identifier != identifier) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (return_statement "return pOVar5;" return identifier ;) })) comment (expression_statement "FUN_001af244();" (call_expression "FUN_001af244()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_001c19e4:\n  pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);" statement_identifier : (expression_statement "pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);" (assignment_expression "pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" identifier = (cast_expression "(Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" ( (binary_expression "PTR_s__s_004c1a50 + 0x320c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4220" identifier + number_literal) ))))) ;)) (return_statement "return pOVar5;" return identifier ;) }))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original name: layout_reloc<32, true>\n   DWARF original prototype: Output_section * layout_reloc<32,_true>(Layout * this,\n   Sized_relobj_file<32,_true> * param_3, uint param_4, Shdr<32,_true> * shdr, Output_section *\n   data_section, Relocatable_relocs * rr) */\n\nOutput_section * __thiscall\ngold::Layout::layout_reloc<32,_true>\n          (Layout *this,Sized_relobj_file<32,_true> *param_1,uint param_2,Shdr<32,_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  Output_data *pOVar4;\n  char *name_00;\n  Output_section *pOVar5;\n  undefined *puVar6;\n  Output_data *posd;\n  Output_section_order order;\n  Elf_Word unaff_s0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *unaff_s3;\n  Output_section *pOVar7;\n  undefined4 uVar8;\n  undefined8 uVar9;\n  string name;\n  \n  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);\n  if (iVar2 == 0) {\n    posd = (Output_data *)&DAT_0000005c;\n    pOVar5 = (Output_section *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n    (*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar5,0x5c,PTR_s__s_004c1a50 + 0x47cc);\nLAB_001c19d4:\n                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */\n    Relocatable_relocs::set_output_data((Relocatable_relocs *)pOVar5,posd);\nLAB_001c19e4:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);\nLAB_001c1a00:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n  }\n  else {\n    if ((*(char *)(iVar2 + 0x3195) != '\0') || (*(char *)(iVar2 + 0x309d) != '\0')) {\n      unaff_s3 = &name.field_2;\n      unaff_s0 = shdr->p_->sh_type;\n      name._M_string_length = 0;\n      name.field_2._M_local_buf[0] = '\0';\n      name._M_dataplus._M_p = (pointer)unaff_s3;\n      if (unaff_s0 == 9) goto LAB_001c1820;\n      if (unaff_s0 == 4) {\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n        goto LAB_001c16b0;\n      }\n      goto LAB_001c19e4;\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\nLAB_001c1820:\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\nLAB_001c16b0:\n    uVar8 = *(undefined4 *)&(data_section->super_Output_data).field_0x24;\n    uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar8);\n    if (0x7fffffff - name._M_string_length < uVar3) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n      return pOVar5;\n    }\n    (*(code *)PTR__M_append_004c1e68)(&name,uVar8,uVar3);\n    pOVar7 = data_section->reloc_section_;\n    if (pOVar7 != (Output_section *)0x0) {\nLAB_001c16fc:\n      if (unaff_s0 == 9) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }\n      if (unaff_s0 == 4) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2464;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\n        goto LAB_001c1798;\n      }\n      goto LAB_001c1a00;\n    }\n    order = ORDER_INVALID;\n                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */\n    name_00 = (char *)(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1);\n    pOVar7 = make_output_section(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false);\n    if (((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)) ||\n       ((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0)) goto LAB_001c1a40;\n    uVar3 = *(uint *)&pOVar7->field_0x98 & 0xdfffffff;\n    *(uint *)&pOVar7->field_0x98 = uVar3 | 0x20000000;\n    if ((((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0)) && (pOVar7->info_ == 0)) {\n      pOVar7->info_section_ = data_section;\n      *(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000;\n      data_section->reloc_section_ = pOVar7;\n      goto LAB_001c16fc;\n    }\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,PTR_s__s_004c1a50 + 0x4240);\nLAB_001c1a40:\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xd1b,PTR_s__s_004c1a50 + 0x4254);\n                    /* catch() { ... } // from try @ 001c16a4 with catch @ 001c1a54\n                       catch() { ... } // from try @ 001c17a0 with catch @ 001c1a54\n                       catch() { ... } // from try @ 001c1840 with catch @ 001c1a54\n                       catch() { ... } // from try @ 001c18f0 with catch @ 001c1a54\n                       catch() { ... } // from try @ 001c19dc with catch @ 001c1a54 */\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)name._M_dataplus._M_p != unaff_s3) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  pOVar5 = (Output_section *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar6);\n  return pOVar5;\n}\n\n" comment comment comment comment comment comment comment (ERROR "Output_section * __thiscall\ngold::Layout::layout_reloc<32,_true>\n          (Layout *this,Sized_relobj_file<32,_true> *param_1,uint param_2,Shdr<32,_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout_reloc<32,_true>\n          (Layout *this,Sized_relobj_file<32,_true> *param_1,uint param_2,Shdr<32,_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout_reloc<32" (binary_expression "Output_section * __thiscall" identifier * identifier) (ERROR "gold::Layout::layout_reloc" identifier : : identifier : : identifier) < number_literal) (ERROR ",_true" , identifier) > (parenthesized_expression "(Layout *this,Sized_relobj_file<32,_true> *param_1,uint param_2,Shdr<32,_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr)" ( (comma_expression "Layout *this,Sized_relobj_file<32,_true> *param_1,uint param_2,Shdr<32,_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr" (binary_expression "Layout *this" identifier * identifier) , (comma_expression "Sized_relobj_file<32,_true> *param_1,uint param_2,Shdr<32,_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_true> *param_1,uint param_2,Shdr<32,_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr" (binary_expression "_true> *param_1" identifier > (pointer_expression "*param_1" * identifier)) , (ERROR "uint" identifier) (comma_expression "param_2,Shdr<32,_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr" identifier , (comma_expression "Shdr<32,_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr" (binary_expression "Shdr<32" identifier < number_literal) , (comma_expression "_true> *shdr,\n          Output_section *data_section,Relocatable_relocs *rr" (binary_expression "_true> *shdr" identifier > (pointer_expression "*shdr" * identifier)) , (comma_expression "Output_section *data_section,Relocatable_relocs *rr" (binary_expression "Output_section *data_section" identifier * identifier) , (binary_expression "Relocatable_relocs *rr" identifier * identifier)))))))) )))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  Output_data *pOVar4;\n  char *name_00;\n  Output_section *pOVar5;\n  undefined *puVar6;\n  Output_data *posd;\n  Output_section_order order;\n  Elf_Word unaff_s0;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *unaff_s3;\n  Output_section *pOVar7;\n  undefined4 uVar8;\n  undefined8 uVar9;\n  string name;\n  \n  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);\n  if (iVar2 == 0) {\n    posd = (Output_data *)&DAT_0000005c;\n    pOVar5 = (Output_section *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n    (*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar5,0x5c,PTR_s__s_004c1a50 + 0x47cc);\nLAB_001c19d4:\n                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */\n    Relocatable_relocs::set_output_data((Relocatable_relocs *)pOVar5,posd);\nLAB_001c19e4:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);\nLAB_001c1a00:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n  }\n  else {\n    if ((*(char *)(iVar2 + 0x3195) != '\0') || (*(char *)(iVar2 + 0x309d) != '\0')) {\n      unaff_s3 = &name.field_2;\n      unaff_s0 = shdr->p_->sh_type;\n      name._M_string_length = 0;\n      name.field_2._M_local_buf[0] = '\0';\n      name._M_dataplus._M_p = (pointer)unaff_s3;\n      if (unaff_s0 == 9) goto LAB_001c1820;\n      if (unaff_s0 == 4) {\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n        goto LAB_001c16b0;\n      }\n      goto LAB_001c19e4;\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\nLAB_001c1820:\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\nLAB_001c16b0:\n    uVar8 = *(undefined4 *)&(data_section->super_Output_data).field_0x24;\n    uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar8);\n    if (0x7fffffff - name._M_string_length < uVar3) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n      return pOVar5;\n    }\n    (*(code *)PTR__M_append_004c1e68)(&name,uVar8,uVar3);\n    pOVar7 = data_section->reloc_section_;\n    if (pOVar7 != (Output_section *)0x0) {\nLAB_001c16fc:\n      if (unaff_s0 == 9) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }\n      if (unaff_s0 == 4) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2464;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\n        goto LAB_001c1798;\n      }\n      goto LAB_001c1a00;\n    }\n    order = ORDER_INVALID;\n                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */\n    name_00 = (char *)(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1);\n    pOVar7 = make_output_section(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false);\n    if (((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)) ||\n       ((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0)) goto LAB_001c1a40;\n    uVar3 = *(uint *)&pOVar7->field_0x98 & 0xdfffffff;\n    *(uint *)&pOVar7->field_0x98 = uVar3 | 0x20000000;\n    if ((((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0)) && (pOVar7->info_ == 0)) {\n      pOVar7->info_section_ = data_section;\n      *(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000;\n      data_section->reloc_section_ = pOVar7;\n      goto LAB_001c16fc;\n    }\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,PTR_s__s_004c1a50 + 0x4240);\nLAB_001c1a40:\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xd1b,PTR_s__s_004c1a50 + 0x4254);\n                    /* catch() { ... } // from try @ 001c16a4 with catch @ 001c1a54\n                       catch() { ... } // from try @ 001c17a0 with catch @ 001c1a54\n                       catch() { ... } // from try @ 001c1840 with catch @ 001c1a54\n                       catch() { ... } // from try @ 001c18f0 with catch @ 001c1a54\n                       catch() { ... } // from try @ 001c19dc with catch @ 001c1a54 */\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)name._M_dataplus._M_p != unaff_s3) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  pOVar5 = (Output_section *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar6);\n  return pOVar5;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "Output_data *pOVar4;" type_identifier (pointer_declarator "*pOVar4" * identifier) ;) (declaration "char *name_00;" primitive_type (pointer_declarator "*name_00" * identifier) ;) (declaration "Output_section *pOVar5;" type_identifier (pointer_declarator "*pOVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "Output_data *posd;" type_identifier (pointer_declarator "*posd" * identifier) ;) (declaration "Output_section_order order;" type_identifier identifier ;) (declaration "Elf_Word unaff_s0;" type_identifier identifier ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_>_9\n  *unaff_s3;" (binary_expression "allocator<char>_>_9\n  *unaff_s3" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *unaff_s3" identifier * identifier)) ;) (declaration "Output_section *pOVar7;" type_identifier (pointer_declarator "*pOVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "string name;" type_identifier identifier ;) (expression_statement "iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);" (assignment_expression "iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n    posd = (Output_data *)&DAT_0000005c;\n    pOVar5 = (Output_section *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n    (*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar5,0x5c,PTR_s__s_004c1a50 + 0x47cc);\nLAB_001c19d4:\n                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */\n    Relocatable_relocs::set_output_data((Relocatable_relocs *)pOVar5,posd);\nLAB_001c19e4:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);\nLAB_001c1a00:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n  }\n  else {\n    if ((*(char *)(iVar2 + 0x3195) != '\0') || (*(char *)(iVar2 + 0x309d) != '\0')) {\n      unaff_s3 = &name.field_2;\n      unaff_s0 = shdr->p_->sh_type;\n      name._M_string_length = 0;\n      name.field_2._M_local_buf[0] = '\0';\n      name._M_dataplus._M_p = (pointer)unaff_s3;\n      if (unaff_s0 == 9) goto LAB_001c1820;\n      if (unaff_s0 == 4) {\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n        goto LAB_001c16b0;\n      }\n      goto LAB_001c19e4;\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\nLAB_001c1820:\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\nLAB_001c16b0:\n    uVar8 = *(undefined4 *)&(data_section->super_Output_data).field_0x24;\n    uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar8);\n    if (0x7fffffff - name._M_string_length < uVar3) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n      return pOVar5;\n    }\n    (*(code *)PTR__M_append_004c1e68)(&name,uVar8,uVar3);\n    pOVar7 = data_section->reloc_section_;\n    if (pOVar7 != (Output_section *)0x0) {\nLAB_001c16fc:\n      if (unaff_s0 == 9) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }\n      if (unaff_s0 == 4) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2464;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\n        goto LAB_001c1798;\n      }\n      goto LAB_001c1a00;\n    }\n    order = ORDER_INVALID;\n                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */\n    name_00 = (char *)(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1);\n    pOVar7 = make_output_section(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false);\n    if (((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)) ||\n       ((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0)) goto LAB_001c1a40;\n    uVar3 = *(uint *)&pOVar7->field_0x98 & 0xdfffffff;\n    *(uint *)&pOVar7->field_0x98 = uVar3 | 0x20000000;\n    if ((((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0)) && (pOVar7->info_ == 0)) {\n      pOVar7->info_section_ = data_section;\n      *(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000;\n      data_section->reloc_section_ = pOVar7;\n      goto LAB_001c16fc;\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    posd = (Output_data *)&DAT_0000005c;\n    pOVar5 = (Output_section *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n    (*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar5,0x5c,PTR_s__s_004c1a50 + 0x47cc);\nLAB_001c19d4:\n                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */\n    Relocatable_relocs::set_output_data((Relocatable_relocs *)pOVar5,posd);\nLAB_001c19e4:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);\nLAB_001c1a00:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n  }" { (expression_statement "posd = (Output_data *)&DAT_0000005c;" (assignment_expression "posd = (Output_data *)&DAT_0000005c" identifier = (cast_expression "(Output_data *)&DAT_0000005c" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000005c" & identifier))) ;) (expression_statement "pOVar5 = (Output_section *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);" (assignment_expression "pOVar5 = (Output_section *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8)" identifier = (cast_expression "(Output_section *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar5,0x5c,PTR_s__s_004c1a50 + 0x47cc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar5,0x5c,PTR_s__s_004c1a50 + 0x47cc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar5,0x5c,PTR_s__s_004c1a50 + 0x47cc)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x47cc" identifier + number_literal) ))) ;) (labeled_statement "LAB_001c19d4:\n                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */\n    Relocatable_relocs::set_output_data((Relocatable_relocs *)pOVar5,posd);" statement_identifier : comment (labeled_statement "Relocatable_relocs::set_output_data((Relocatable_relocs *)pOVar5,posd);" statement_identifier : (ERROR ":" :) (expression_statement "set_output_data((Relocatable_relocs *)pOVar5,posd);" (call_expression "set_output_data((Relocatable_relocs *)pOVar5,posd)" identifier (argument_list "((Relocatable_relocs *)pOVar5,posd)" ( (cast_expression "(Relocatable_relocs *)pOVar5" ( (type_descriptor "Relocatable_relocs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;))) (labeled_statement "LAB_001c19e4:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" ( (binary_expression "PTR_s__s_004c1a50 + 0x320c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4220" identifier + number_literal) ))) ;)) (labeled_statement "LAB_001c1a00:\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" ( (binary_expression "PTR_s__s_004c1a50 + 0x320c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4220" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    if ((*(char *)(iVar2 + 0x3195) != '\0') || (*(char *)(iVar2 + 0x309d) != '\0')) {\n      unaff_s3 = &name.field_2;\n      unaff_s0 = shdr->p_->sh_type;\n      name._M_string_length = 0;\n      name.field_2._M_local_buf[0] = '\0';\n      name._M_dataplus._M_p = (pointer)unaff_s3;\n      if (unaff_s0 == 9) goto LAB_001c1820;\n      if (unaff_s0 == 4) {\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n        goto LAB_001c16b0;\n      }\n      goto LAB_001c19e4;\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\nLAB_001c1820:\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\nLAB_001c16b0:\n    uVar8 = *(undefined4 *)&(data_section->super_Output_data).field_0x24;\n    uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar8);\n    if (0x7fffffff - name._M_string_length < uVar3) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n      return pOVar5;\n    }\n    (*(code *)PTR__M_append_004c1e68)(&name,uVar8,uVar3);\n    pOVar7 = data_section->reloc_section_;\n    if (pOVar7 != (Output_section *)0x0) {\nLAB_001c16fc:\n      if (unaff_s0 == 9) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }\n      if (unaff_s0 == 4) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2464;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\n        goto LAB_001c1798;\n      }\n      goto LAB_001c1a00;\n    }\n    order = ORDER_INVALID;\n                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */\n    name_00 = (char *)(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1);\n    pOVar7 = make_output_section(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false);\n    if (((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)) ||\n       ((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0)) goto LAB_001c1a40;\n    uVar3 = *(uint *)&pOVar7->field_0x98 & 0xdfffffff;\n    *(uint *)&pOVar7->field_0x98 = uVar3 | 0x20000000;\n    if ((((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0)) && (pOVar7->info_ == 0)) {\n      pOVar7->info_section_ = data_section;\n      *(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000;\n      data_section->reloc_section_ = pOVar7;\n      goto LAB_001c16fc;\n    }\n  }" else (compound_statement "{\n    if ((*(char *)(iVar2 + 0x3195) != '\0') || (*(char *)(iVar2 + 0x309d) != '\0')) {\n      unaff_s3 = &name.field_2;\n      unaff_s0 = shdr->p_->sh_type;\n      name._M_string_length = 0;\n      name.field_2._M_local_buf[0] = '\0';\n      name._M_dataplus._M_p = (pointer)unaff_s3;\n      if (unaff_s0 == 9) goto LAB_001c1820;\n      if (unaff_s0 == 4) {\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n        goto LAB_001c16b0;\n      }\n      goto LAB_001c19e4;\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\nLAB_001c1820:\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\nLAB_001c16b0:\n    uVar8 = *(undefined4 *)&(data_section->super_Output_data).field_0x24;\n    uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar8);\n    if (0x7fffffff - name._M_string_length < uVar3) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n      return pOVar5;\n    }\n    (*(code *)PTR__M_append_004c1e68)(&name,uVar8,uVar3);\n    pOVar7 = data_section->reloc_section_;\n    if (pOVar7 != (Output_section *)0x0) {\nLAB_001c16fc:\n      if (unaff_s0 == 9) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }\n      if (unaff_s0 == 4) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2464;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\n        goto LAB_001c1798;\n      }\n      goto LAB_001c1a00;\n    }\n    order = ORDER_INVALID;\n                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */\n    name_00 = (char *)(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1);\n    pOVar7 = make_output_section(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false);\n    if (((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)) ||\n       ((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0)) goto LAB_001c1a40;\n    uVar3 = *(uint *)&pOVar7->field_0x98 & 0xdfffffff;\n    *(uint *)&pOVar7->field_0x98 = uVar3 | 0x20000000;\n    if ((((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0)) && (pOVar7->info_ == 0)) {\n      pOVar7->info_section_ = data_section;\n      *(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000;\n      data_section->reloc_section_ = pOVar7;\n      goto LAB_001c16fc;\n    }\n  }" { (if_statement "if ((*(char *)(iVar2 + 0x3195) != '\0') || (*(char *)(iVar2 + 0x309d) != '\0')) {\n      unaff_s3 = &name.field_2;\n      unaff_s0 = shdr->p_->sh_type;\n      name._M_string_length = 0;\n      name.field_2._M_local_buf[0] = '\0';\n      name._M_dataplus._M_p = (pointer)unaff_s3;\n      if (unaff_s0 == 9) goto LAB_001c1820;\n      if (unaff_s0 == 4) {\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n        goto LAB_001c16b0;\n      }\n      goto LAB_001c19e4;\n    }" if (parenthesized_expression "((*(char *)(iVar2 + 0x3195) != '\0') || (*(char *)(iVar2 + 0x309d) != '\0'))" ( (binary_expression "(*(char *)(iVar2 + 0x3195) != '\0') || (*(char *)(iVar2 + 0x309d) != '\0')" (parenthesized_expression "(*(char *)(iVar2 + 0x3195) != '\0')" ( (binary_expression "*(char *)(iVar2 + 0x3195) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x3195)" * (cast_expression "(char *)(iVar2 + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3195)" ( (binary_expression "iVar2 + 0x3195" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(char *)(iVar2 + 0x309d) != '\0')" ( (binary_expression "*(char *)(iVar2 + 0x309d) != '\0'" (pointer_expression "*(char *)(iVar2 + 0x309d)" * (cast_expression "(char *)(iVar2 + 0x309d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x309d)" ( (binary_expression "iVar2 + 0x309d" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      unaff_s3 = &name.field_2;\n      unaff_s0 = shdr->p_->sh_type;\n      name._M_string_length = 0;\n      name.field_2._M_local_buf[0] = '\0';\n      name._M_dataplus._M_p = (pointer)unaff_s3;\n      if (unaff_s0 == 9) goto LAB_001c1820;\n      if (unaff_s0 == 4) {\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n        goto LAB_001c16b0;\n      }\n      goto LAB_001c19e4;\n    }" { (expression_statement "unaff_s3 = &name.field_2;" (assignment_expression "unaff_s3 = &name.field_2" identifier = (pointer_expression "&name.field_2" & (field_expression "name.field_2" identifier . field_identifier))) ;) (expression_statement "unaff_s0 = shdr->p_->sh_type;" (assignment_expression "unaff_s0 = shdr->p_->sh_type" identifier = (field_expression "shdr->p_->sh_type" (field_expression "shdr->p_" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "name._M_string_length = 0;" (assignment_expression "name._M_string_length = 0" (field_expression "name._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "name.field_2._M_local_buf[0] = '\0';" (assignment_expression "name.field_2._M_local_buf[0] = '\0'" (subscript_expression "name.field_2._M_local_buf[0]" (field_expression "name.field_2._M_local_buf" (field_expression "name.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "name._M_dataplus._M_p = (pointer)unaff_s3;" (assignment_expression "name._M_dataplus._M_p = (pointer)unaff_s3" (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)unaff_s3" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (unaff_s0 == 9) goto LAB_001c1820;" if (parenthesized_expression "(unaff_s0 == 9)" ( (binary_expression "unaff_s0 == 9" identifier == number_literal) )) (goto_statement "goto LAB_001c1820;" goto statement_identifier ;)) (if_statement "if (unaff_s0 == 4) {\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n        goto LAB_001c16b0;\n      }" if (parenthesized_expression "(unaff_s0 == 4)" ( (binary_expression "unaff_s0 == 4" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n        goto LAB_001c16b0;\n      }" { comment (expression_statement "(*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&name,0,0,PTR_s__s_004c1a50 + 0x3f18,5)" ( (pointer_expression "&name" & identifier) , number_literal , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x3f18" identifier + number_literal) , number_literal ))) ;) (goto_statement "goto LAB_001c16b0;" goto statement_identifier ;) })) (goto_statement "goto LAB_001c19e4;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" ( (binary_expression "PTR_s__s_004c1a50 + 0x320c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4220" identifier + number_literal) ))) ;) (labeled_statement "LAB_001c1820:\n                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */\n    (*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4);" statement_identifier : comment (expression_statement "(*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&name,0,0,PTR_s__s_004c1a50 + 0x3f10,4)" ( (pointer_expression "&name" & identifier) , number_literal , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x3f10" identifier + number_literal) , number_literal ))) ;)) (labeled_statement "LAB_001c16b0:\n    uVar8 = *(undefined4 *)&(data_section->super_Output_data).field_0x24;" statement_identifier : (expression_statement "uVar8 = *(undefined4 *)&(data_section->super_Output_data).field_0x24;" (assignment_expression "uVar8 = *(undefined4 *)&(data_section->super_Output_data).field_0x24" identifier = (pointer_expression "*(undefined4 *)&(data_section->super_Output_data).field_0x24" * (cast_expression "(undefined4 *)&(data_section->super_Output_data).field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(data_section->super_Output_data).field_0x24" & (field_expression "(data_section->super_Output_data).field_0x24" (parenthesized_expression "(data_section->super_Output_data)" ( (field_expression "data_section->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;)) (expression_statement "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar8);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar8)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(uVar8)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar8)" ( identifier )))) ;) (if_statement "if (0x7fffffff - name._M_string_length < uVar3) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n      return pOVar5;\n    }" if (parenthesized_expression "(0x7fffffff - name._M_string_length < uVar3)" ( (binary_expression "0x7fffffff - name._M_string_length < uVar3" (binary_expression "0x7fffffff - name._M_string_length" number_literal - (field_expression "name._M_string_length" identifier . field_identifier)) < identifier) )) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n      return pOVar5;\n    }" { (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" identifier = (cast_expression "(Output_section *)\n               (*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(&name,uVar8,uVar3);" (call_expression "(*(code *)PTR__M_append_004c1e68)(&name,uVar8,uVar3)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&name,uVar8,uVar3)" ( (pointer_expression "&name" & identifier) , identifier , identifier ))) ;) (expression_statement "pOVar7 = data_section->reloc_section_;" (assignment_expression "pOVar7 = data_section->reloc_section_" identifier = (field_expression "data_section->reloc_section_" identifier -> field_identifier)) ;) (if_statement "if (pOVar7 != (Output_section *)0x0) {\nLAB_001c16fc:\n      if (unaff_s0 == 9) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }\n      if (unaff_s0 == 4) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2464;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\n        goto LAB_001c1798;\n      }\n      goto LAB_001c1a00;\n    }" if (parenthesized_expression "(pOVar7 != (Output_section *)0x0)" ( (binary_expression "pOVar7 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001c16fc:\n      if (unaff_s0 == 9) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }\n      if (unaff_s0 == 4) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2464;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\n        goto LAB_001c1798;\n      }\n      goto LAB_001c1a00;\n    }" { (labeled_statement "LAB_001c16fc:\n      if (unaff_s0 == 9) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }" statement_identifier : (if_statement "if (unaff_s0 == 9) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }" if (parenthesized_expression "(unaff_s0 == 9)" ( (binary_expression "unaff_s0 == 9" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2468;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\nLAB_001c1798:\n        pOVar5 = pOVar7;\n        posd = pOVar4;\n                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */\n        (*(code *)PTR_add_output_section_data_004c2104)();\n        if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }\n        goto LAB_001c19d4;\n      }" { (expression_statement "(*(code *)PTR_set_entsize_004c1a6c)(pOVar7);" (call_expression "(*(code *)PTR_set_entsize_004c1a6c)(pOVar7)" (parenthesized_expression "(*(code *)PTR_set_entsize_004c1a6c)" ( (pointer_expression "*(code *)PTR_set_entsize_004c1a6c" * (cast_expression "(code *)PTR_set_entsize_004c1a6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar7)" ( identifier ))) ;) (expression_statement "pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38)" identifier = (cast_expression "(Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38)" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x38)" ( number_literal ))))) ;) comment (expression_statement "uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);" (assignment_expression "uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" identifier = (call_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (parenthesized_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)" ( (pointer_expression "*(code *)PTR_default_alignment_for_size_004c1b04" * (cast_expression "(code *)PTR_default_alignment_for_size_004c1b04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20)" ( number_literal )))) ;) (expression_statement "bVar1 = pOVar4->field_0x20;" (assignment_expression "bVar1 = pOVar4->field_0x20" identifier = (field_expression "pOVar4->field_0x20" identifier -> field_identifier)) ;) (expression_statement "pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);" (assignment_expression "pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20)" (field_expression "pOVar4[1]._vptr_Output_data" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)((ulonglong)uVar9 >> 0x20)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" ( (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)&pOVar4->address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar4->address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar4->address_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar4->address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar4->address_ + 4)" ( (binary_expression "(int)&pOVar4->address_ + 4" (cast_expression "(int)&pOVar4->address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar4->address_" & (field_expression "pOVar4->address_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "puVar6 = PTR_vtable_004c2468;" (assignment_expression "puVar6 = PTR_vtable_004c2468" identifier = identifier) ;) (expression_statement "*(undefined4 *)&pOVar4->address_ = 0;" (assignment_expression "*(undefined4 *)&pOVar4->address_ = 0" (pointer_expression "*(undefined4 *)&pOVar4->address_" * (cast_expression "(undefined4 *)&pOVar4->address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->address_" & (field_expression "pOVar4->address_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&pOVar4->offset_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar4->offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar4->offset_ + 4)" ( (binary_expression "(int)&pOVar4->offset_ + 4" (cast_expression "(int)&pOVar4->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar4->offset_" & (field_expression "pOVar4->offset_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->offset_ = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar4->offset_ = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar4->offset_" * (cast_expression "(undefined4 *)&pOVar4->offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->offset_" & (field_expression "pOVar4->offset_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x24 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x24 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x24" * (cast_expression "(undefined4 *)&pOVar4->field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x24" & (field_expression "pOVar4->field_0x24" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar4->data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar4->data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar4->data_size_ + 4)" ( (binary_expression "(int)&pOVar4->data_size_ + 4" (cast_expression "(int)&pOVar4->data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar4->data_size_" & (field_expression "pOVar4->data_size_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->data_size_ = 0;" (assignment_expression "*(undefined4 *)&pOVar4->data_size_ = 0" (pointer_expression "*(undefined4 *)&pOVar4->data_size_" * (cast_expression "(undefined4 *)&pOVar4->data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->data_size_" & (field_expression "pOVar4->data_size_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar4->field_0x20 = bVar1 & 7;" (assignment_expression "pOVar4->field_0x20 = bVar1 & 7" (field_expression "pOVar4->field_0x20" identifier -> field_identifier) = (binary_expression "bVar1 & 7" identifier & number_literal)) ;) (expression_statement "*(int *)&pOVar4[1].field_0x4 = (int)uVar9;" (assignment_expression "*(int *)&pOVar4[1].field_0x4 = (int)uVar9" (pointer_expression "*(int *)&pOVar4[1].field_0x4" * (cast_expression "(int *)&pOVar4[1].field_0x4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4[1].field_0x4" & (field_expression "pOVar4[1].field_0x4" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier)))) = (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);" (assignment_expression "pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8)" (field_expression "pOVar4->_vptr_Output_data" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)(puVar6 + 8)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 8)" ( (binary_expression "puVar6 + 8" identifier + number_literal) )))) ;) (expression_statement "*(Relocatable_relocs **)&pOVar4[1].address_ = rr;" (assignment_expression "*(Relocatable_relocs **)&pOVar4[1].address_ = rr" (pointer_expression "*(Relocatable_relocs **)&pOVar4[1].address_" * (cast_expression "(Relocatable_relocs **)&pOVar4[1].address_" ( (type_descriptor "Relocatable_relocs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pOVar4[1].address_" & (field_expression "pOVar4[1].address_" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (labeled_statement "LAB_001c1798:\n        pOVar5 = pOVar7;" statement_identifier : (expression_statement "pOVar5 = pOVar7;" (assignment_expression "pOVar5 = pOVar7" identifier = identifier) ;)) (expression_statement "posd = pOVar4;" (assignment_expression "posd = pOVar4" identifier = identifier) ;) comment (expression_statement "(*(code *)PTR_add_output_section_data_004c2104)();" (call_expression "(*(code *)PTR_add_output_section_data_004c2104)()" (parenthesized_expression "(*(code *)PTR_add_output_section_data_004c2104)" ( (pointer_expression "*(code *)PTR_add_output_section_data_004c2104" * (cast_expression "(code *)PTR_add_output_section_data_004c2104" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (rr->posd_ == (Output_data *)0x0) {\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }" if (parenthesized_expression "(rr->posd_ == (Output_data *)0x0)" ( (binary_expression "rr->posd_ == (Output_data *)0x0" (field_expression "rr->posd_" identifier -> field_identifier) == (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          rr->posd_ = pOVar4;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }\n          return pOVar7;\n        }" { (expression_statement "rr->posd_ = pOVar4;" (assignment_expression "rr->posd_ = pOVar4" (field_expression "rr->posd_" identifier -> field_identifier) = identifier) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3) {\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n               *)name._M_dataplus._M_p != unaff_s3" (binary_expression "allocator<char>_>_9\n               *)name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n            (*(code *)PTR_operator_delete_004c12fc)();\n          }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (return_statement "return pOVar7;" return identifier ;) })) (goto_statement "goto LAB_001c19d4;" goto statement_identifier ;) }))) (if_statement "if (unaff_s0 == 4) {\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2464;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\n        goto LAB_001c1798;\n      }" if (parenthesized_expression "(unaff_s0 == 4)" ( (binary_expression "unaff_s0 == 4" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_set_entsize_004c1a6c)(pOVar7);\n        pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */\n        uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n        bVar1 = pOVar4->field_0x20;\n        pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);\n        *(undefined4 *)((int)&pOVar4->address_ + 4) = 0;\n        puVar6 = PTR_vtable_004c2464;\n        *(undefined4 *)&pOVar4->address_ = 0;\n        *(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;\n        *(undefined4 *)&pOVar4->offset_ = 0xffffffff;\n        *(undefined4 *)&pOVar4->field_0x24 = 0;\n        *(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar4->data_size_ = 0;\n        pOVar4->field_0x20 = bVar1 & 7;\n        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;\n        pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);\n        *(Relocatable_relocs **)&pOVar4[1].address_ = rr;\n        goto LAB_001c1798;\n      }" { (expression_statement "(*(code *)PTR_set_entsize_004c1a6c)(pOVar7);" (call_expression "(*(code *)PTR_set_entsize_004c1a6c)(pOVar7)" (parenthesized_expression "(*(code *)PTR_set_entsize_004c1a6c)" ( (pointer_expression "*(code *)PTR_set_entsize_004c1a6c" * (cast_expression "(code *)PTR_set_entsize_004c1a6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar7)" ( identifier ))) ;) (expression_statement "pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "pOVar4 = (Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38)" identifier = (cast_expression "(Output_data *)(*(code *)PTR_operator_new_004c13a8)(0x38)" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x38)" ( number_literal ))))) ;) comment (expression_statement "uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);" (assignment_expression "uVar9 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" identifier = (call_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (parenthesized_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)" ( (pointer_expression "*(code *)PTR_default_alignment_for_size_004c1b04" * (cast_expression "(code *)PTR_default_alignment_for_size_004c1b04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20)" ( number_literal )))) ;) (expression_statement "bVar1 = pOVar4->field_0x20;" (assignment_expression "bVar1 = pOVar4->field_0x20" identifier = (field_expression "pOVar4->field_0x20" identifier -> field_identifier)) ;) (expression_statement "pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20);" (assignment_expression "pOVar4[1]._vptr_Output_data = (_func_int_varargs **)((ulonglong)uVar9 >> 0x20)" (field_expression "pOVar4[1]._vptr_Output_data" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)((ulonglong)uVar9 >> 0x20)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" ( (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)&pOVar4->address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar4->address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar4->address_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar4->address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar4->address_ + 4)" ( (binary_expression "(int)&pOVar4->address_ + 4" (cast_expression "(int)&pOVar4->address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar4->address_" & (field_expression "pOVar4->address_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "puVar6 = PTR_vtable_004c2464;" (assignment_expression "puVar6 = PTR_vtable_004c2464" identifier = identifier) ;) (expression_statement "*(undefined4 *)&pOVar4->address_ = 0;" (assignment_expression "*(undefined4 *)&pOVar4->address_ = 0" (pointer_expression "*(undefined4 *)&pOVar4->address_" * (cast_expression "(undefined4 *)&pOVar4->address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->address_" & (field_expression "pOVar4->address_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&pOVar4->offset_ + 4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&pOVar4->offset_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar4->offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar4->offset_ + 4)" ( (binary_expression "(int)&pOVar4->offset_ + 4" (cast_expression "(int)&pOVar4->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar4->offset_" & (field_expression "pOVar4->offset_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->offset_ = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar4->offset_ = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar4->offset_" * (cast_expression "(undefined4 *)&pOVar4->offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->offset_" & (field_expression "pOVar4->offset_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x24 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x24 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x24" * (cast_expression "(undefined4 *)&pOVar4->field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x24" & (field_expression "pOVar4->field_0x24" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar4->data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar4->data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar4->data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar4->data_size_ + 4)" ( (binary_expression "(int)&pOVar4->data_size_ + 4" (cast_expression "(int)&pOVar4->data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar4->data_size_" & (field_expression "pOVar4->data_size_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->data_size_ = 0;" (assignment_expression "*(undefined4 *)&pOVar4->data_size_ = 0" (pointer_expression "*(undefined4 *)&pOVar4->data_size_" * (cast_expression "(undefined4 *)&pOVar4->data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->data_size_" & (field_expression "pOVar4->data_size_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar4->field_0x20 = bVar1 & 7;" (assignment_expression "pOVar4->field_0x20 = bVar1 & 7" (field_expression "pOVar4->field_0x20" identifier -> field_identifier) = (binary_expression "bVar1 & 7" identifier & number_literal)) ;) (expression_statement "*(int *)&pOVar4[1].field_0x4 = (int)uVar9;" (assignment_expression "*(int *)&pOVar4[1].field_0x4 = (int)uVar9" (pointer_expression "*(int *)&pOVar4[1].field_0x4" * (cast_expression "(int *)&pOVar4[1].field_0x4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4[1].field_0x4" & (field_expression "pOVar4[1].field_0x4" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier)))) = (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8);" (assignment_expression "pOVar4->_vptr_Output_data = (_func_int_varargs **)(puVar6 + 8)" (field_expression "pOVar4->_vptr_Output_data" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)(puVar6 + 8)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 8)" ( (binary_expression "puVar6 + 8" identifier + number_literal) )))) ;) (expression_statement "*(Relocatable_relocs **)&pOVar4[1].address_ = rr;" (assignment_expression "*(Relocatable_relocs **)&pOVar4[1].address_ = rr" (pointer_expression "*(Relocatable_relocs **)&pOVar4[1].address_" * (cast_expression "(Relocatable_relocs **)&pOVar4[1].address_" ( (type_descriptor "Relocatable_relocs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pOVar4[1].address_" & (field_expression "pOVar4[1].address_" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (goto_statement "goto LAB_001c1798;" goto statement_identifier ;) })) (goto_statement "goto LAB_001c1a00;" goto statement_identifier ;) })) (expression_statement "order = ORDER_INVALID;" (assignment_expression "order = ORDER_INVALID" identifier = identifier) ;) comment (expression_statement "name_00 = (char *)(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1);" (assignment_expression "name_00 = (char *)(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1)" identifier = (cast_expression "(char *)(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1)" (parenthesized_expression "(*(code *)PTR_add_004c1ca4)" ( (pointer_expression "*(code *)PTR_add_004c1ca4" * (cast_expression "(code *)PTR_add_004c1ca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&this->namepool_,name._M_dataplus._M_p,1)" ( (pointer_expression "&this->namepool_" & (field_expression "this->namepool_" identifier -> field_identifier)) , (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) , number_literal ))))) ;) (expression_statement "pOVar7 = make_output_section(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false);" (assignment_expression "pOVar7 = make_output_section(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false)" identifier = (call_expression "make_output_section(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false)" identifier (argument_list "(this,name_00,unaff_s0,(ulonglong)shdr->p_->sh_flags,order,false)" ( identifier , identifier , identifier , (cast_expression "(ulonglong)shdr->p_->sh_flags" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "shdr->p_->sh_flags" (field_expression "shdr->p_" identifier -> field_identifier) -> field_identifier)) , identifier , false )))) ;) (if_statement "if (((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)) ||\n       ((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0)) goto LAB_001c1a40;" if (parenthesized_expression "(((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)) ||\n       ((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0))" ( (binary_expression "((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)) ||\n       ((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0)" (parenthesized_expression "((pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0))" ( (binary_expression "(pOVar7->link_section_ != (Output_data *)0x0) || (pOVar7->link_ != 0)" (parenthesized_expression "(pOVar7->link_section_ != (Output_data *)0x0)" ( (binary_expression "pOVar7->link_section_ != (Output_data *)0x0" (field_expression "pOVar7->link_section_" identifier -> field_identifier) != (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pOVar7->link_ != 0)" ( (binary_expression "pOVar7->link_ != 0" (field_expression "pOVar7->link_" identifier -> field_identifier) != number_literal) ))) )) || (parenthesized_expression "((int)(*(uint *)&pOVar7->field_0x98 << 3) < 0)" ( (binary_expression "(int)(*(uint *)&pOVar7->field_0x98 << 3) < 0" (cast_expression "(int)(*(uint *)&pOVar7->field_0x98 << 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)&pOVar7->field_0x98 << 3)" ( (binary_expression "*(uint *)&pOVar7->field_0x98 << 3" (pointer_expression "*(uint *)&pOVar7->field_0x98" * (cast_expression "(uint *)&pOVar7->field_0x98" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar7->field_0x98" & (field_expression "pOVar7->field_0x98" identifier -> field_identifier)))) << number_literal) ))) < number_literal) ))) )) (goto_statement "goto LAB_001c1a40;" goto statement_identifier ;)) (expression_statement "uVar3 = *(uint *)&pOVar7->field_0x98 & 0xdfffffff;" (assignment_expression "uVar3 = *(uint *)&pOVar7->field_0x98 & 0xdfffffff" identifier = (binary_expression "*(uint *)&pOVar7->field_0x98 & 0xdfffffff" (pointer_expression "*(uint *)&pOVar7->field_0x98" * (cast_expression "(uint *)&pOVar7->field_0x98" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar7->field_0x98" & (field_expression "pOVar7->field_0x98" identifier -> field_identifier)))) & number_literal)) ;) (expression_statement "*(uint *)&pOVar7->field_0x98 = uVar3 | 0x20000000;" (assignment_expression "*(uint *)&pOVar7->field_0x98 = uVar3 | 0x20000000" (pointer_expression "*(uint *)&pOVar7->field_0x98" * (cast_expression "(uint *)&pOVar7->field_0x98" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar7->field_0x98" & (field_expression "pOVar7->field_0x98" identifier -> field_identifier)))) = (binary_expression "uVar3 | 0x20000000" identifier | number_literal)) ;) (if_statement "if ((((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0)) && (pOVar7->info_ == 0)) {\n      pOVar7->info_section_ = data_section;\n      *(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000;\n      data_section->reloc_section_ = pOVar7;\n      goto LAB_001c16fc;\n    }" if (parenthesized_expression "((((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0)) && (pOVar7->info_ == 0))" ( (binary_expression "(((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0)) && (pOVar7->info_ == 0)" (parenthesized_expression "(((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0))" ( (binary_expression "((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))) &&\n        (pOVar7->info_symndx_ == (Symbol *)0x0)" (parenthesized_expression "((pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0))))" ( (binary_expression "(pOVar7->info_section_ == (Output_section *)0x0) ||\n         ((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))" (parenthesized_expression "(pOVar7->info_section_ == (Output_section *)0x0)" ( (binary_expression "pOVar7->info_section_ == (Output_section *)0x0" (field_expression "pOVar7->info_section_" identifier -> field_identifier) == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)))" ( (parenthesized_expression "(data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0))" ( (binary_expression "data_section == pOVar7->info_section_ && ((int)(uVar3 << 8) < 0)" (binary_expression "data_section == pOVar7->info_section_" identifier == (field_expression "pOVar7->info_section_" identifier -> field_identifier)) && (parenthesized_expression "((int)(uVar3 << 8) < 0)" ( (binary_expression "(int)(uVar3 << 8) < 0" (cast_expression "(int)(uVar3 << 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) ))) < number_literal) ))) )) ))) )) && (parenthesized_expression "(pOVar7->info_symndx_ == (Symbol *)0x0)" ( (binary_expression "pOVar7->info_symndx_ == (Symbol *)0x0" (field_expression "pOVar7->info_symndx_" identifier -> field_identifier) == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(pOVar7->info_ == 0)" ( (binary_expression "pOVar7->info_ == 0" (field_expression "pOVar7->info_" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n      pOVar7->info_section_ = data_section;\n      *(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000;\n      data_section->reloc_section_ = pOVar7;\n      goto LAB_001c16fc;\n    }" { (expression_statement "pOVar7->info_section_ = data_section;" (assignment_expression "pOVar7->info_section_ = data_section" (field_expression "pOVar7->info_section_" identifier -> field_identifier) = identifier) ;) (expression_statement "*(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000;" (assignment_expression "*(uint *)&pOVar7->field_0x98 = *(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000" (pointer_expression "*(uint *)&pOVar7->field_0x98" * (cast_expression "(uint *)&pOVar7->field_0x98" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar7->field_0x98" & (field_expression "pOVar7->field_0x98" identifier -> field_identifier)))) = (binary_expression "*(uint *)&pOVar7->field_0x98 & 0xff7fffff | 0x800000" (binary_expression "*(uint *)&pOVar7->field_0x98 & 0xff7fffff" (pointer_expression "*(uint *)&pOVar7->field_0x98" * (cast_expression "(uint *)&pOVar7->field_0x98" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar7->field_0x98" & (field_expression "pOVar7->field_0x98" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) (expression_statement "data_section->reloc_section_ = pOVar7;" (assignment_expression "data_section->reloc_section_ = pOVar7" (field_expression "data_section->reloc_section_" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_001c16fc;" goto statement_identifier ;) })) }))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,PTR_s__s_004c1a50 + 0x4240);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,PTR_s__s_004c1a50 + 0x4240)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,PTR_s__s_004c1a50 + 0x4240)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4240" identifier + number_literal) ))) ;) (labeled_statement "LAB_001c1a40:\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" statement_identifier : (expression_statement "puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xd1b,PTR_s__s_004c1a50 + 0x4254);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xd1b,PTR_s__s_004c1a50 + 0x4254)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,0xd1b,PTR_s__s_004c1a50 + 0x4254)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4254" identifier + number_literal) ))) ;) comment (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)name._M_dataplus._M_p != unaff_s3) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)name._M_dataplus._M_p != unaff_s3)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)name._M_dataplus._M_p != unaff_s3)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n       *)name._M_dataplus._M_p != unaff_s3" (binary_expression "allocator<char>_>_9\n       *)name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "pOVar5 = (Output_section *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar6);" (assignment_expression "pOVar5 = (Output_section *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar6)" identifier = (cast_expression "(Output_section *)(*(code *)PTR__Unwind_Resume_004c12c8)(puVar6)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Unwind_Resume_004c12c8)(puVar6)" (parenthesized_expression "(*(code *)PTR__Unwind_Resume_004c12c8)" ( (pointer_expression "*(code *)PTR__Unwind_Resume_004c12c8" * (cast_expression "(code *)PTR__Unwind_Resume_004c12c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))))) ;) (return_statement "return pOVar5;" return identifier ;) }))
(translation_unit "Output_section * __thiscall\ngold::Layout::layout_reloc<32,true>\n          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 *puVar4;\n  Output_section *pOVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined1 *local_40;\n  int local_3c;\n  undefined1 local_38 [20];\n  \n  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);\n  if (iVar2 == 0) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }\n  if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }\n  iVar2 = *(int *)(*(int *)param_3 + 4);\n  local_3c = 0;\n  local_38[0] = 0;\n  local_40 = local_38;\n  if (iVar2 == 9) {\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }\n  else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }\n  uVar6 = *(undefined4 *)(param_4 + 0x24);\n  uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);\n  if (0x7fffffffU - local_3c < uVar3) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }\n  (*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);\n  pOVar5 = *(Output_section **)(param_4 + 0xf8);\n  if (pOVar5 == (Output_section *)0x0) {\n                    \n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }\n  if (iVar2 == 9) {\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n  else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n                    \n  (*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);\n  if (*(int *)(param_5 + 0x10) == 0) {\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }\n                    \n  FUN_001af244();\nLAB_001c19e4:\n  pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);\n  return pOVar5;\n}\n\n" (ERROR "Output_section * __thiscall\ngold::Layout::layout_reloc<32,true>\n          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout_reloc<32,true>\n          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout_reloc<32" (binary_expression "Output_section * __thiscall" identifier * identifier) (ERROR "gold::Layout::layout_reloc" identifier : : identifier : : identifier) < number_literal) (ERROR ",true" , true) > (parenthesized_expression "(Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)" ( (comma_expression "Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Layout *this" identifier * identifier) , (comma_expression "Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Sized_relobj_file *param_1" identifier * identifier) , (ERROR "uint" identifier) (comma_expression "param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" identifier , (comma_expression "Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Shdr *param_3" identifier * identifier) , (comma_expression "Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Output_section *param_4" identifier * identifier) , (binary_expression "Relocatable_relocs *param_5" identifier * identifier)))))) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 *puVar4;\n  Output_section *pOVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined1 *local_40;\n  int local_3c;\n  undefined1 local_38 [20];\n  \n  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);\n  if (iVar2 == 0) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }\n  if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }\n  iVar2 = *(int *)(*(int *)param_3 + 4);\n  local_3c = 0;\n  local_38[0] = 0;\n  local_40 = local_38;\n  if (iVar2 == 9) {\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }\n  else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }\n  uVar6 = *(undefined4 *)(param_4 + 0x24);\n  uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);\n  if (0x7fffffffU - local_3c < uVar3) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }\n  (*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);\n  pOVar5 = *(Output_section **)(param_4 + 0xf8);\n  if (pOVar5 == (Output_section *)0x0) {\n                    \n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }\n  if (iVar2 == 9) {\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n  else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n                    \n  (*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);\n  if (*(int *)(param_5 + 0x10) == 0) {\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }\n                    \n  FUN_001af244();\nLAB_001c19e4:\n  pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);\n  return pOVar5;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "Output_section *pOVar5;" type_identifier (pointer_declarator "*pOVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined1 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined1 local_38 [20];" type_identifier (array_declarator "local_38 [20]" identifier [ number_literal ]) ;) (expression_statement "iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);" (assignment_expression "iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8)" identifier = (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }" { (expression_statement "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);" (assignment_expression "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" identifier = (cast_expression "(Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x47cc" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (if_statement "if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }" if (parenthesized_expression "((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0'))" ( (binary_expression "(*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')" (parenthesized_expression "(*(char *)(iVar2 + 0x3195) == '\0')" ( (binary_expression "*(char *)(iVar2 + 0x3195) == '\0'" (pointer_expression "*(char *)(iVar2 + 0x3195)" * (cast_expression "(char *)(iVar2 + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3195)" ( (binary_expression "iVar2 + 0x3195" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar2 + 0x309d) == '\0')" ( (binary_expression "*(char *)(iVar2 + 0x309d) == '\0'" (pointer_expression "*(char *)(iVar2 + 0x309d)" * (cast_expression "(char *)(iVar2 + 0x309d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x309d)" ( (binary_expression "iVar2 + 0x309d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }" { (expression_statement "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);" (assignment_expression "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" identifier = (cast_expression "(Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" ( (binary_expression "PTR_s__s_004c1a50 + 0x320c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4220" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "iVar2 = *(int *)(*(int *)param_3 + 4);" (assignment_expression "iVar2 = *(int *)(*(int *)param_3 + 4)" identifier = (pointer_expression "*(int *)(*(int *)param_3 + 4)" * (cast_expression "(int *)(*(int *)param_3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_3 + 4)" ( (binary_expression "*(int *)param_3 + 4" (pointer_expression "*(int *)param_3" * (cast_expression "(int *)param_3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38[0] = 0;" (assignment_expression "local_38[0] = 0" (subscript_expression "local_38[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" identifier = identifier) ;) (if_statement "if (iVar2 == 9) {\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }\n  else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }" if (parenthesized_expression "(iVar2 == 9)" ( (binary_expression "iVar2 == 9" identifier == number_literal) )) (compound_statement "{\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }" { (expression_statement "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4)" ( (pointer_expression "&local_40" & identifier) , number_literal , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x3f10" identifier + number_literal) , number_literal ))) ;) }) (else_clause "else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }" else (compound_statement "{\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }" { (if_statement "if (iVar2 != 4) goto LAB_001c19e4;" if (parenthesized_expression "(iVar2 != 4)" ( (binary_expression "iVar2 != 4" identifier != number_literal) )) (goto_statement "goto LAB_001c19e4;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5)" ( (pointer_expression "&local_40" & identifier) , number_literal , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x3f18" identifier + number_literal) , number_literal ))) ;) }))) (expression_statement "uVar6 = *(undefined4 *)(param_4 + 0x24);" (assignment_expression "uVar6 = *(undefined4 *)(param_4 + 0x24)" identifier = (pointer_expression "*(undefined4 *)(param_4 + 0x24)" * (cast_expression "(undefined4 *)(param_4 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x24)" ( (binary_expression "param_4 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(uVar6)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier )))) ;) (if_statement "if (0x7fffffffU - local_3c < uVar3) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }" if (parenthesized_expression "(0x7fffffffU - local_3c < uVar3)" ( (binary_expression "0x7fffffffU - local_3c < uVar3" (binary_expression "0x7fffffffU - local_3c" number_literal - identifier) < identifier) )) (compound_statement "{\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }" { (expression_statement "pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" identifier = (cast_expression "(Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" ( (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" * (cast_expression "(code *)PTR___throw_length_error_004c1e74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "(*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);" (call_expression "(*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" ( (pointer_expression "*(code *)PTR__M_append_004c1e68" * (cast_expression "(code *)PTR__M_append_004c1e68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_40,uVar6,uVar3)" ( (pointer_expression "&local_40" & identifier) , identifier , identifier ))) ;) (expression_statement "pOVar5 = *(Output_section **)(param_4 + 0xf8);" (assignment_expression "pOVar5 = *(Output_section **)(param_4 + 0xf8)" identifier = (pointer_expression "*(Output_section **)(param_4 + 0xf8)" * (cast_expression "(Output_section **)(param_4 + 0xf8)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xf8)" ( (binary_expression "param_4 + 0xf8" identifier + number_literal) ))))) ;) (if_statement "if (pOVar5 == (Output_section *)0x0) {\n                    \n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }" if (parenthesized_expression "(pOVar5 == (Output_section *)0x0)" ( (binary_expression "pOVar5 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }" { (expression_statement "uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);" (assignment_expression "uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0)" identifier = (call_expression "(*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0)" (parenthesized_expression "(*(code *)PTR_add_004c1ca4)" ( (pointer_expression "*(code *)PTR_add_004c1ca4" * (cast_expression "(code *)PTR_add_004c1ca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this + 8,local_40,1,0)" ( (binary_expression "this + 8" identifier + number_literal) , identifier , number_literal , number_literal )))) ;) (expression_statement "pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);" (assignment_expression "pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2)" identifier = (cast_expression "(Output_section *)make_output_section(this,uVar6,iVar2)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "make_output_section(this,uVar6,iVar2)" identifier (argument_list "(this,uVar6,iVar2)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }" if (parenthesized_expression "(((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0))" ( (binary_expression "((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)" (parenthesized_expression "((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0))" ( (binary_expression "(*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)" (parenthesized_expression "(*(int *)(pOVar5 + 0x40) != 0)" ( (binary_expression "*(int *)(pOVar5 + 0x40) != 0" (pointer_expression "*(int *)(pOVar5 + 0x40)" * (cast_expression "(int *)(pOVar5 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x40)" ( (binary_expression "pOVar5 + 0x40" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(pOVar5 + 0x44) != 0)" ( (binary_expression "*(int *)(pOVar5 + 0x44) != 0" (pointer_expression "*(int *)(pOVar5 + 0x44)" * (cast_expression "(int *)(pOVar5 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x44)" ( (binary_expression "pOVar5 + 0x44" identifier + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)" ( (binary_expression "(int)(*(uint *)(pOVar5 + 0x98) << 3) < 0" (cast_expression "(int)(*(uint *)(pOVar5 + 0x98) << 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)(pOVar5 + 0x98) << 3)" ( (binary_expression "*(uint *)(pOVar5 + 0x98) << 3" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) << number_literal) ))) < number_literal) ))) )) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }" { (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" identifier = (cast_expression "(Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4254" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;" (assignment_expression "uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff" identifier = (binary_expression "*(uint *)(pOVar5 + 0x98) & 0xdfffffff" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;" (assignment_expression "*(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) = (binary_expression "uVar3 | 0x20000000" identifier | number_literal)) ;) (if_statement "if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }" if (parenthesized_expression "((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0))" ( (binary_expression "(((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)" (parenthesized_expression "(((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0))" ( (binary_expression "((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)" (parenthesized_expression "((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8)))))" ( (binary_expression "(*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))" (parenthesized_expression "(*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0)" ( (binary_expression "*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0" (pointer_expression "*(Output_section **)(pOVar5 + 0x48)" * (cast_expression "(Output_section **)(pOVar5 + 0x48)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pOVar5 + 0x48)" ( (binary_expression "pOVar5 + 0x48" identifier + number_literal) )))) != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))" ( (parenthesized_expression "(param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8)))" ( (binary_expression "param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))" (binary_expression "param_4 != *(Output_section **)(pOVar5 + 0x48)" identifier != (pointer_expression "*(Output_section **)(pOVar5 + 0x48)" * (cast_expression "(Output_section **)(pOVar5 + 0x48)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pOVar5 + 0x48)" ( (binary_expression "pOVar5 + 0x48" identifier + number_literal) ))))) || (parenthesized_expression "(-1 < (int)(uVar3 << 8))" ( (binary_expression "-1 < (int)(uVar3 << 8)" number_literal < (cast_expression "(int)(uVar3 << 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )))) ))) )) ))) )) || (parenthesized_expression "(*(int *)(pOVar5 + 0x4c) != 0)" ( (binary_expression "*(int *)(pOVar5 + 0x4c) != 0" (pointer_expression "*(int *)(pOVar5 + 0x4c)" * (cast_expression "(int *)(pOVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x4c)" ( (binary_expression "pOVar5 + 0x4c" identifier + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(int *)(pOVar5 + 0x50) != 0)" ( (binary_expression "*(int *)(pOVar5 + 0x50) != 0" (pointer_expression "*(int *)(pOVar5 + 0x50)" * (cast_expression "(int *)(pOVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x50)" ( (binary_expression "pOVar5 + 0x50" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }" { (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" identifier = (cast_expression "(Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4240" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "*(Output_section **)(pOVar5 + 0x48) = param_4;" (assignment_expression "*(Output_section **)(pOVar5 + 0x48) = param_4" (pointer_expression "*(Output_section **)(pOVar5 + 0x48)" * (cast_expression "(Output_section **)(pOVar5 + 0x48)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pOVar5 + 0x48)" ( (binary_expression "pOVar5 + 0x48" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;" (assignment_expression "*(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) = (binary_expression "*(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000" (binary_expression "*(uint *)(pOVar5 + 0x98) & 0xff7fffff" (pointer_expression "*(uint *)(pOVar5 + 0x98)" * (cast_expression "(uint *)(pOVar5 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar5 + 0x98)" ( (binary_expression "pOVar5 + 0x98" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*(Output_section **)(param_4 + 0xf8) = pOVar5;" (assignment_expression "*(Output_section **)(param_4 + 0xf8) = pOVar5" (pointer_expression "*(Output_section **)(param_4 + 0xf8)" * (cast_expression "(Output_section **)(param_4 + 0xf8)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xf8)" ( (binary_expression "param_4 + 0xf8" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (iVar2 == 9) {\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n  else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" if (parenthesized_expression "(iVar2 == 9)" ( (binary_expression "iVar2 == 9" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" { (expression_statement "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5);" (call_expression "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5)" (parenthesized_expression "(*(code *)PTR_set_entsize_004c1a6c)" ( (pointer_expression "*(code *)PTR_set_entsize_004c1a6c" * (cast_expression "(code *)PTR_set_entsize_004c1a6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar5)" ( identifier ))) ;) (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);" (assignment_expression "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" identifier = (call_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (parenthesized_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)" ( (pointer_expression "*(code *)PTR_default_alignment_for_size_004c1b04" * (cast_expression "(code *)PTR_default_alignment_for_size_004c1b04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20)" ( number_literal )))) ;) (expression_statement "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);" (assignment_expression "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20)" (subscript_expression "puVar4[10]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar7 >> 0x20)" ( (binary_expression "(ulonglong)uVar7 >> 0x20" (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar4[3] = 0;" (assignment_expression "puVar4[3] = 0" (subscript_expression "puVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR_vtable_004c2468;" (assignment_expression "puVar1 = PTR_vtable_004c2468" identifier = identifier) ;) (expression_statement "puVar4[2] = 0;" (assignment_expression "puVar4[2] = 0" (subscript_expression "puVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[7] = 0xffffffff;" (assignment_expression "puVar4[7] = 0xffffffff" (subscript_expression "puVar4[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[6] = 0xffffffff;" (assignment_expression "puVar4[6] = 0xffffffff" (subscript_expression "puVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[9] = 0;" (assignment_expression "puVar4[9] = 0" (subscript_expression "puVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[5] = 0;" (assignment_expression "puVar4[5] = 0" (subscript_expression "puVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[4] = 0;" (assignment_expression "puVar4[4] = 0" (subscript_expression "puVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;" (assignment_expression "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" * (cast_expression "(byte *)(puVar4 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 8)" ( (binary_expression "puVar4 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" * (cast_expression "(byte *)(puVar4 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 8)" ( (binary_expression "puVar4 + 8" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar4[0xb] = (int)uVar7;" (assignment_expression "puVar4[0xb] = (int)uVar7" (subscript_expression "puVar4[0xb]" identifier [ number_literal ]) = (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar4 = puVar1 + 8;" (assignment_expression "*puVar4 = puVar1 + 8" (pointer_expression "*puVar4" * identifier) = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar4[0xc] = param_5;" (assignment_expression "puVar4[0xc] = param_5" (subscript_expression "puVar4[0xc]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" else (compound_statement "{\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" { (if_statement "if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }" if (parenthesized_expression "(iVar2 != 4)" ( (binary_expression "iVar2 != 4" identifier != number_literal) )) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }" { (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" identifier = (cast_expression "(Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" ( (binary_expression "PTR_s__s_004c1a50 + 0x320c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4220" identifier + number_literal) ))))) ;) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5);" (call_expression "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5)" (parenthesized_expression "(*(code *)PTR_set_entsize_004c1a6c)" ( (pointer_expression "*(code *)PTR_set_entsize_004c1a6c" * (cast_expression "(code *)PTR_set_entsize_004c1a6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar5)" ( identifier ))) ;) (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);" (assignment_expression "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" identifier = (call_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (parenthesized_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)" ( (pointer_expression "*(code *)PTR_default_alignment_for_size_004c1b04" * (cast_expression "(code *)PTR_default_alignment_for_size_004c1b04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20)" ( number_literal )))) ;) (expression_statement "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);" (assignment_expression "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20)" (subscript_expression "puVar4[10]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar7 >> 0x20)" ( (binary_expression "(ulonglong)uVar7 >> 0x20" (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar4[3] = 0;" (assignment_expression "puVar4[3] = 0" (subscript_expression "puVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = PTR_vtable_004c2464;" (assignment_expression "puVar1 = PTR_vtable_004c2464" identifier = identifier) ;) (expression_statement "puVar4[2] = 0;" (assignment_expression "puVar4[2] = 0" (subscript_expression "puVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[7] = 0xffffffff;" (assignment_expression "puVar4[7] = 0xffffffff" (subscript_expression "puVar4[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[6] = 0xffffffff;" (assignment_expression "puVar4[6] = 0xffffffff" (subscript_expression "puVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[9] = 0;" (assignment_expression "puVar4[9] = 0" (subscript_expression "puVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[5] = 0;" (assignment_expression "puVar4[5] = 0" (subscript_expression "puVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4[4] = 0;" (assignment_expression "puVar4[4] = 0" (subscript_expression "puVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;" (assignment_expression "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" * (cast_expression "(byte *)(puVar4 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 8)" ( (binary_expression "puVar4 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" * (cast_expression "(byte *)(puVar4 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 8)" ( (binary_expression "puVar4 + 8" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar4[0xb] = (int)uVar7;" (assignment_expression "puVar4[0xb] = (int)uVar7" (subscript_expression "puVar4[0xb]" identifier [ number_literal ]) = (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar4 = puVar1 + 8;" (assignment_expression "*puVar4 = puVar1 + 8" (pointer_expression "*puVar4" * identifier) = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar4[0xc] = param_5;" (assignment_expression "puVar4[0xc] = param_5" (subscript_expression "puVar4[0xc]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "(*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);" (call_expression "(*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4)" (parenthesized_expression "(*(code *)PTR_add_output_section_data_004c2104)" ( (pointer_expression "*(code *)PTR_add_output_section_data_004c2104" * (cast_expression "(code *)PTR_add_output_section_data_004c2104" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar5,puVar4)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(param_5 + 0x10) == 0) {\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }" if (parenthesized_expression "(*(int *)(param_5 + 0x10) == 0)" ( (binary_expression "*(int *)(param_5 + 0x10) == 0" (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }" { (expression_statement "*(undefined4 **)(param_5 + 0x10) = puVar4;" (assignment_expression "*(undefined4 **)(param_5 + 0x10) = puVar4" (pointer_expression "*(undefined4 **)(param_5 + 0x10)" * (cast_expression "(undefined4 **)(param_5 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) = identifier) ;) (if_statement "if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" if (parenthesized_expression "(local_40 != local_38)" ( (binary_expression "local_40 != local_38" identifier != identifier) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (return_statement "return pOVar5;" return identifier ;) })) (expression_statement "FUN_001af244();" (call_expression "FUN_001af244()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_001c19e4:\n  pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);" statement_identifier : (expression_statement "pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);" (assignment_expression "pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" identifier = (cast_expression "(Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" ( (binary_expression "PTR_s__s_004c1a50 + 0x320c" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4220" identifier + number_literal) ))))) ;)) (return_statement "return pOVar5;" return identifier ;) }))
(translation_unit (ERROR (binary_expression (binary_expression (binary_expression IDENT * IDENT) (ERROR IDENT : : IDENT : : IDENT) < LIT) (ERROR , BOOL) > (parenthesized_expression ( (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (ERROR IDENT) (comma_expression IDENT , (comma_expression (binary_expression IDENT * IDENT) , (comma_expression (binary_expression IDENT * IDENT) , (binary_expression IDENT * IDENT)))))) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (binary_expression IDENT + LIT) , LIT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (binary_expression IDENT + LIT) , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) )))) ))) )) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) || (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 IDENT ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (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 (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 IDENT ;) }))
(ERROR "Output_section * __thiscall\ngold::Layout::layout_reloc<32,true>\n          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout_reloc<32,true>\n          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)" (binary_expression "Output_section * __thiscall\ngold::Layout::layout_reloc<32" (binary_expression "Output_section * __thiscall" (identifier "Output_section") (* "*") (identifier "__thiscall")) (ERROR "gold::Layout::layout_reloc" (identifier "gold") (: ":") (: ":") (identifier "Layout") (: ":") (: ":") (identifier "layout_reloc")) (< "<") (number_literal "32")) (ERROR ",true" (, ",") (true "true")) (> ">") (parenthesized_expression "(Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5)" (( "(") (comma_expression "Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Layout *this" (identifier "Layout") (* "*") (identifier "this")) (, ",") (comma_expression "Sized_relobj_file *param_1,uint param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Sized_relobj_file *param_1" (identifier "Sized_relobj_file") (* "*") (identifier "param_1")) (, ",") (ERROR "uint" (identifier "uint")) (comma_expression "param_2,Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (identifier "param_2") (, ",") (comma_expression "Shdr *param_3,\n          Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Shdr *param_3" (identifier "Shdr") (* "*") (identifier "param_3")) (, ",") (comma_expression "Output_section *param_4,Relocatable_relocs *param_5" (binary_expression "Output_section *param_4" (identifier "Output_section") (* "*") (identifier "param_4")) (, ",") (binary_expression "Relocatable_relocs *param_5" (identifier "Relocatable_relocs") (* "*") (identifier "param_5"))))))) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 *puVar4;\n  Output_section *pOVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined1 *local_40;\n  int local_3c;\n  undefined1 local_38 [20];\n  \n  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);\n  if (iVar2 == 0) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }\n  if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }\n  iVar2 = *(int *)(*(int *)param_3 + 4);\n  local_3c = 0;\n  local_38[0] = 0;\n  local_40 = local_38;\n  if (iVar2 == 9) {\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }\n  else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }\n  uVar6 = *(undefined4 *)(param_4 + 0x24);\n  uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);\n  if (0x7fffffffU - local_3c < uVar3) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }\n  (*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);\n  pOVar5 = *(Output_section **)(param_4 + 0xf8);\n  if (pOVar5 == (Output_section *)0x0) {\n                    \n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }\n  if (iVar2 == 9) {\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n  else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n                    \n  (*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);\n  if (*(int *)(param_5 + 0x10) == 0) {\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }\n                    \n  FUN_001af244();\nLAB_001c19e4:\n  pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);\n  return pOVar5;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "Output_section *pOVar5;" (type_identifier "Output_section") (pointer_declarator "*pOVar5" (* "*") (identifier "pOVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "undefined1 *local_40;" (type_identifier "undefined1") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined1 local_38 [20];" (type_identifier "undefined1") (array_declarator "local_38 [20]" (identifier "local_38") ([ "[") (number_literal "20") (] "]")) (; ";")) (expression_statement "iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);" (assignment_expression "iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar2 == 0) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);\n    return pOVar5;\n  }" ({ "{") (expression_statement "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc);" (assignment_expression "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" (identifier "pOVar5") (= "=") (cast_expression "(Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                        PTR_s__s_004c1a50 + 0x47cc)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x47cc" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x47cc")) () ")"))))) (; ";")) (return_statement "return pOVar5;" (return "return") (identifier "pOVar5") (; ";")) (} "}"))) (if_statement "if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }" (if "if") (parenthesized_expression "((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0'))" (( "(") (binary_expression "(*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')" (parenthesized_expression "(*(char *)(iVar2 + 0x3195) == '\0')" (( "(") (binary_expression "*(char *)(iVar2 + 0x3195) == '\0'" (pointer_expression "*(char *)(iVar2 + 0x3195)" (* "*") (cast_expression "(char *)(iVar2 + 0x3195)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x3195)" (( "(") (binary_expression "iVar2 + 0x3195" (identifier "iVar2") (+ "+") (number_literal "0x3195")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar2 + 0x309d) == '\0')" (( "(") (binary_expression "*(char *)(iVar2 + 0x309d) == '\0'" (pointer_expression "*(char *)(iVar2 + 0x309d)" (* "*") (cast_expression "(char *)(iVar2 + 0x309d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x309d)" (( "(") (binary_expression "iVar2 + 0x309d" (identifier "iVar2") (+ "+") (number_literal "0x309d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);\n    return pOVar5;\n  }" ({ "{") (expression_statement "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);" (assignment_expression "pOVar5 = (Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" (identifier "pOVar5") (= "=") (cast_expression "(Output_section *)\n             (*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0x320c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x320c")) (, ",") (number_literal "0x52d") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x4220" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x4220")) () ")"))))) (; ";")) (return_statement "return pOVar5;" (return "return") (identifier "pOVar5") (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(*(int *)param_3 + 4);" (assignment_expression "iVar2 = *(int *)(*(int *)param_3 + 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(*(int *)param_3 + 4)" (* "*") (cast_expression "(int *)(*(int *)param_3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)param_3 + 4)" (( "(") (binary_expression "*(int *)param_3 + 4" (pointer_expression "*(int *)param_3" (* "*") (cast_expression "(int *)param_3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38[0] = 0;" (assignment_expression "local_38[0] = 0" (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = local_38;" (assignment_expression "local_40 = local_38" (identifier "local_40") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (iVar2 == 9) {\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }\n  else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }" (if "if") (parenthesized_expression "(iVar2 == 9)" (( "(") (binary_expression "iVar2 == 9" (identifier "iVar2") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);\n  }" ({ "{") (expression_statement "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" (( "(") (pointer_expression "*(code *)PTR__M_replace_004c20a0" (* "*") (cast_expression "(code *)PTR__M_replace_004c20a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_004c20a0"))) () ")")) (argument_list "(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x3f10" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x3f10")) (, ",") (number_literal "4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }" (else "else") (compound_statement "{\n    if (iVar2 != 4) goto LAB_001c19e4;\n                    \n    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);\n  }" ({ "{") (if_statement "if (iVar2 != 4) goto LAB_001c19e4;" (if "if") (parenthesized_expression "(iVar2 != 4)" (( "(") (binary_expression "iVar2 != 4" (identifier "iVar2") (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_001c19e4;" (goto "goto") (statement_identifier "LAB_001c19e4") (; ";"))) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" (( "(") (pointer_expression "*(code *)PTR__M_replace_004c20a0" (* "*") (cast_expression "(code *)PTR__M_replace_004c20a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_004c20a0"))) () ")")) (argument_list "(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x3f18" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x3f18")) (, ",") (number_literal "5") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar6 = *(undefined4 *)(param_4 + 0x24);" (assignment_expression "uVar6 = *(undefined4 *)(param_4 + 0x24)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(param_4 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_4 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x24)" (( "(") (binary_expression "param_4 + 0x24" (identifier "param_4") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(uVar6)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if (0x7fffffffU - local_3c < uVar3) {\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }" (if "if") (parenthesized_expression "(0x7fffffffU - local_3c < uVar3)" (( "(") (binary_expression "0x7fffffffU - local_3c < uVar3" (binary_expression "0x7fffffffU - local_3c" (number_literal "0x7fffffffU") (- "-") (identifier "local_3c")) (< "<") (identifier "uVar3")) () ")")) (compound_statement "{\n    pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);\n    return pOVar5;\n  }" ({ "{") (expression_statement "pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);" (assignment_expression "pOVar5 = (Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (identifier "pOVar5") (= "=") (cast_expression "(Output_section *)\n             (*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___throw_length_error_004c1e74)\n                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (parenthesized_expression "(*(code *)PTR___throw_length_error_004c1e74)" (( "(") (pointer_expression "*(code *)PTR___throw_length_error_004c1e74" (* "*") (cast_expression "(code *)PTR___throw_length_error_004c1e74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_length_error_004c1e74"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x446c")) () ")"))))) (; ";")) (return_statement "return pOVar5;" (return "return") (identifier "pOVar5") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);" (call_expression "(*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3)" (parenthesized_expression "(*(code *)PTR__M_append_004c1e68)" (( "(") (pointer_expression "*(code *)PTR__M_append_004c1e68" (* "*") (cast_expression "(code *)PTR__M_append_004c1e68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_append_004c1e68"))) () ")")) (argument_list "(&local_40,uVar6,uVar3)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (identifier "uVar6") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "pOVar5 = *(Output_section **)(param_4 + 0xf8);" (assignment_expression "pOVar5 = *(Output_section **)(param_4 + 0xf8)" (identifier "pOVar5") (= "=") (pointer_expression "*(Output_section **)(param_4 + 0xf8)" (* "*") (cast_expression "(Output_section **)(param_4 + 0xf8)" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0xf8)" (( "(") (binary_expression "param_4 + 0xf8" (identifier "param_4") (+ "+") (number_literal "0xf8")) () ")"))))) (; ";")) (if_statement "if (pOVar5 == (Output_section *)0x0) {\n                    \n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }" (if "if") (parenthesized_expression "(pOVar5 == (Output_section *)0x0)" (( "(") (binary_expression "pOVar5 == (Output_section *)0x0" (identifier "pOVar5") (== "==") (cast_expression "(Output_section *)0x0" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);\n    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);\n    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }\n    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;\n    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;\n    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }\n    *(Output_section **)(pOVar5 + 0x48) = param_4;\n    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;\n    *(Output_section **)(param_4 + 0xf8) = pOVar5;\n  }" ({ "{") (expression_statement "uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);" (assignment_expression "uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0)" (parenthesized_expression "(*(code *)PTR_add_004c1ca4)" (( "(") (pointer_expression "*(code *)PTR_add_004c1ca4" (* "*") (cast_expression "(code *)PTR_add_004c1ca4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_004c1ca4"))) () ")")) (argument_list "(this + 8,local_40,1,0)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) (, ",") (identifier "local_40") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);" (assignment_expression "pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2)" (identifier "pOVar5") (= "=") (cast_expression "(Output_section *)make_output_section(this,uVar6,iVar2)" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "make_output_section(this,uVar6,iVar2)" (identifier "make_output_section") (argument_list "(this,uVar6,iVar2)" (( "(") (identifier "this") (, ",") (identifier "uVar6") (, ",") (identifier "iVar2") () ")"))))) (; ";")) (if_statement "if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }" (if "if") (parenthesized_expression "(((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0))" (( "(") (binary_expression "((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||\n       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)" (parenthesized_expression "((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0))" (( "(") (binary_expression "(*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)" (parenthesized_expression "(*(int *)(pOVar5 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(pOVar5 + 0x40) != 0" (pointer_expression "*(int *)(pOVar5 + 0x40)" (* "*") (cast_expression "(int *)(pOVar5 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar5 + 0x40)" (( "(") (binary_expression "pOVar5 + 0x40" (identifier "pOVar5") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(pOVar5 + 0x44) != 0)" (( "(") (binary_expression "*(int *)(pOVar5 + 0x44) != 0" (pointer_expression "*(int *)(pOVar5 + 0x44)" (* "*") (cast_expression "(int *)(pOVar5 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar5 + 0x44)" (( "(") (binary_expression "pOVar5 + 0x44" (identifier "pOVar5") (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)" (( "(") (binary_expression "(int)(*(uint *)(pOVar5 + 0x98) << 3) < 0" (cast_expression "(int)(*(uint *)(pOVar5 + 0x98) << 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(*(uint *)(pOVar5 + 0x98) << 3)" (( "(") (binary_expression "*(uint *)(pOVar5 + 0x98) << 3" (pointer_expression "*(uint *)(pOVar5 + 0x98)" (* "*") (cast_expression "(uint *)(pOVar5 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar5 + 0x98)" (( "(") (binary_expression "pOVar5 + 0x98" (identifier "pOVar5") (+ "+") (number_literal "0x98")) () ")")))) (<< "<<") (number_literal "3")) () ")"))) (< "<") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);\n      return pOVar5;\n    }" ({ "{") (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" (identifier "pOVar5") (= "=") (cast_expression "(Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,\n                          PTR_s__s_004c1a50 + 0x4254)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xd1b") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x4254" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x4254")) () ")"))))) (; ";")) (return_statement "return pOVar5;" (return "return") (identifier "pOVar5") (; ";")) (} "}"))) (expression_statement "uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;" (assignment_expression "uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff" (identifier "uVar3") (= "=") (binary_expression "*(uint *)(pOVar5 + 0x98) & 0xdfffffff" (pointer_expression "*(uint *)(pOVar5 + 0x98)" (* "*") (cast_expression "(uint *)(pOVar5 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar5 + 0x98)" (( "(") (binary_expression "pOVar5 + 0x98" (identifier "pOVar5") (+ "+") (number_literal "0x98")) () ")")))) (& "&") (number_literal "0xdfffffff"))) (; ";")) (expression_statement "*(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;" (assignment_expression "*(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000" (pointer_expression "*(uint *)(pOVar5 + 0x98)" (* "*") (cast_expression "(uint *)(pOVar5 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar5 + 0x98)" (( "(") (binary_expression "pOVar5 + 0x98" (identifier "pOVar5") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (binary_expression "uVar3 | 0x20000000" (identifier "uVar3") (| "|") (number_literal "0x20000000"))) (; ";")) (if_statement "if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }" (if "if") (parenthesized_expression "((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0))" (( "(") (binary_expression "(((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)" (parenthesized_expression "(((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0))" (( "(") (binary_expression "((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||\n        (*(int *)(pOVar5 + 0x4c) != 0)" (parenthesized_expression "((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8)))))" (( "(") (binary_expression "(*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&\n         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))" (parenthesized_expression "(*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0)" (( "(") (binary_expression "*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0" (pointer_expression "*(Output_section **)(pOVar5 + 0x48)" (* "*") (cast_expression "(Output_section **)(pOVar5 + 0x48)" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pOVar5 + 0x48)" (( "(") (binary_expression "pOVar5 + 0x48" (identifier "pOVar5") (+ "+") (number_literal "0x48")) () ")")))) (!= "!=") (cast_expression "(Output_section *)0x0" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))" (( "(") (parenthesized_expression "(param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8)))" (( "(") (binary_expression "param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))" (binary_expression "param_4 != *(Output_section **)(pOVar5 + 0x48)" (identifier "param_4") (!= "!=") (pointer_expression "*(Output_section **)(pOVar5 + 0x48)" (* "*") (cast_expression "(Output_section **)(pOVar5 + 0x48)" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pOVar5 + 0x48)" (( "(") (binary_expression "pOVar5 + 0x48" (identifier "pOVar5") (+ "+") (number_literal "0x48")) () ")"))))) (|| "||") (parenthesized_expression "(-1 < (int)(uVar3 << 8))" (( "(") (binary_expression "-1 < (int)(uVar3 << 8)" (number_literal "-1") (< "<") (cast_expression "(int)(uVar3 << 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar3 << 8)" (( "(") (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) () ")")))) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)(pOVar5 + 0x4c) != 0)" (( "(") (binary_expression "*(int *)(pOVar5 + 0x4c) != 0" (pointer_expression "*(int *)(pOVar5 + 0x4c)" (* "*") (cast_expression "(int *)(pOVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar5 + 0x4c)" (( "(") (binary_expression "pOVar5 + 0x4c" (identifier "pOVar5") (+ "+") (number_literal "0x4c")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)(pOVar5 + 0x50) != 0)" (( "(") (binary_expression "*(int *)(pOVar5 + 0x50) != 0" (pointer_expression "*(int *)(pOVar5 + 0x50)" (* "*") (cast_expression "(int *)(pOVar5 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar5 + 0x50)" (( "(") (binary_expression "pOVar5 + 0x50" (identifier "pOVar5") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);\n      return pOVar5;\n    }" ({ "{") (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" (identifier "pOVar5") (= "=") (cast_expression "(Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,\n                          PTR_s__s_004c1a50 + 0x4240)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xd3a") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x4240" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x4240")) () ")"))))) (; ";")) (return_statement "return pOVar5;" (return "return") (identifier "pOVar5") (; ";")) (} "}"))) (expression_statement "*(Output_section **)(pOVar5 + 0x48) = param_4;" (assignment_expression "*(Output_section **)(pOVar5 + 0x48) = param_4" (pointer_expression "*(Output_section **)(pOVar5 + 0x48)" (* "*") (cast_expression "(Output_section **)(pOVar5 + 0x48)" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pOVar5 + 0x48)" (( "(") (binary_expression "pOVar5 + 0x48" (identifier "pOVar5") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;" (assignment_expression "*(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000" (pointer_expression "*(uint *)(pOVar5 + 0x98)" (* "*") (cast_expression "(uint *)(pOVar5 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar5 + 0x98)" (( "(") (binary_expression "pOVar5 + 0x98" (identifier "pOVar5") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (binary_expression "*(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000" (binary_expression "*(uint *)(pOVar5 + 0x98) & 0xff7fffff" (pointer_expression "*(uint *)(pOVar5 + 0x98)" (* "*") (cast_expression "(uint *)(pOVar5 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar5 + 0x98)" (( "(") (binary_expression "pOVar5 + 0x98" (identifier "pOVar5") (+ "+") (number_literal "0x98")) () ")")))) (& "&") (number_literal "0xff7fffff")) (| "|") (number_literal "0x800000"))) (; ";")) (expression_statement "*(Output_section **)(param_4 + 0xf8) = pOVar5;" (assignment_expression "*(Output_section **)(param_4 + 0xf8) = pOVar5" (pointer_expression "*(Output_section **)(param_4 + 0xf8)" (* "*") (cast_expression "(Output_section **)(param_4 + 0xf8)" (( "(") (type_descriptor "Output_section **" (type_identifier "Output_section") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0xf8)" (( "(") (binary_expression "param_4 + 0xf8" (identifier "param_4") (+ "+") (number_literal "0xf8")) () ")")))) (= "=") (identifier "pOVar5")) (; ";")) (} "}"))) (if_statement "if (iVar2 == 9) {\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }\n  else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" (if "if") (parenthesized_expression "(iVar2 == 9)" (( "(") (binary_expression "iVar2 == 9" (identifier "iVar2") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2468;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" ({ "{") (expression_statement "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5);" (call_expression "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5)" (parenthesized_expression "(*(code *)PTR_set_entsize_004c1a6c)" (( "(") (pointer_expression "*(code *)PTR_set_entsize_004c1a6c" (* "*") (cast_expression "(code *)PTR_set_entsize_004c1a6c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_entsize_004c1a6c"))) () ")")) (argument_list "(pOVar5)" (( "(") (identifier "pOVar5") () ")"))) (; ";")) (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" (( "(") (pointer_expression "*(code *)PTR_operator_new_004c13a8" (* "*") (cast_expression "(code *)PTR_operator_new_004c13a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_004c13a8"))) () ")")) (argument_list "(0x38)" (( "(") (number_literal "0x38") () ")"))))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);" (assignment_expression "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (parenthesized_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)" (( "(") (pointer_expression "*(code *)PTR_default_alignment_for_size_004c1b04" (* "*") (cast_expression "(code *)PTR_default_alignment_for_size_004c1b04" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_default_alignment_for_size_004c1b04"))) () ")")) (argument_list "(0x20)" (( "(") (number_literal "0x20") () ")")))) (; ";")) (expression_statement "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);" (assignment_expression "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20)" (subscript_expression "puVar4[10]" (identifier "puVar4") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(int)((ulonglong)uVar7 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar7 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar7 >> 0x20" (cast_expression "(ulonglong)uVar7" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar7")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "puVar4[3] = 0;" (assignment_expression "puVar4[3] = 0" (subscript_expression "puVar4[3]" (identifier "puVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = PTR_vtable_004c2468;" (assignment_expression "puVar1 = PTR_vtable_004c2468" (identifier "puVar1") (= "=") (identifier "PTR_vtable_004c2468")) (; ";")) (expression_statement "puVar4[2] = 0;" (assignment_expression "puVar4[2] = 0" (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4[7] = 0xffffffff;" (assignment_expression "puVar4[7] = 0xffffffff" (subscript_expression "puVar4[7]" (identifier "puVar4") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar4[6] = 0xffffffff;" (assignment_expression "puVar4[6] = 0xffffffff" (subscript_expression "puVar4[6]" (identifier "puVar4") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar4[9] = 0;" (assignment_expression "puVar4[9] = 0" (subscript_expression "puVar4[9]" (identifier "puVar4") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4[5] = 0;" (assignment_expression "puVar4[5] = 0" (subscript_expression "puVar4[5]" (identifier "puVar4") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4[4] = 0;" (assignment_expression "puVar4[4] = 0" (subscript_expression "puVar4[4]" (identifier "puVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;" (assignment_expression "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" (* "*") (cast_expression "(byte *)(puVar4 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 8)" (( "(") (binary_expression "puVar4 + 8" (identifier "puVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" (* "*") (cast_expression "(byte *)(puVar4 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 8)" (( "(") (binary_expression "puVar4 + 8" (identifier "puVar4") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "7"))) (; ";")) (expression_statement "puVar4[0xb] = (int)uVar7;" (assignment_expression "puVar4[0xb] = (int)uVar7" (subscript_expression "puVar4[0xb]" (identifier "puVar4") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "*puVar4 = puVar1 + 8;" (assignment_expression "*puVar4 = puVar1 + 8" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (binary_expression "puVar1 + 8" (identifier "puVar1") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar4[0xc] = param_5;" (assignment_expression "puVar4[0xc] = param_5" (subscript_expression "puVar4[0xc]" (identifier "puVar4") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "param_5")) (; ";")) (} "}")) (else_clause "else {\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" (else "else") (compound_statement "{\n    if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }\n    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);\n    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);\n                    \n    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);\n    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);\n    puVar4[3] = 0;\n    puVar1 = PTR_vtable_004c2464;\n    puVar4[2] = 0;\n    puVar4[7] = 0xffffffff;\n    puVar4[6] = 0xffffffff;\n    puVar4[9] = 0;\n    puVar4[5] = 0;\n    puVar4[4] = 0;\n    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;\n    puVar4[0xb] = (int)uVar7;\n    *puVar4 = puVar1 + 8;\n    puVar4[0xc] = param_5;\n  }" ({ "{") (if_statement "if (iVar2 != 4) {\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }" (if "if") (parenthesized_expression "(iVar2 != 4)" (( "(") (binary_expression "iVar2 != 4" (identifier "iVar2") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n      pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);\n      return pOVar5;\n    }" ({ "{") (expression_statement "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);" (assignment_expression "pOVar5 = (Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" (identifier "pOVar5") (= "=") (cast_expression "(Output_section *)\n               (*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0x320c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x320c")) (, ",") (number_literal "0x557") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x4220" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x4220")) () ")"))))) (; ";")) (return_statement "return pOVar5;" (return "return") (identifier "pOVar5") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5);" (call_expression "(*(code *)PTR_set_entsize_004c1a6c)(pOVar5)" (parenthesized_expression "(*(code *)PTR_set_entsize_004c1a6c)" (( "(") (pointer_expression "*(code *)PTR_set_entsize_004c1a6c" (* "*") (cast_expression "(code *)PTR_set_entsize_004c1a6c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_entsize_004c1a6c"))) () ")")) (argument_list "(pOVar5)" (( "(") (identifier "pOVar5") () ")"))) (; ";")) (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new_004c13a8)(0x38)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" (( "(") (pointer_expression "*(code *)PTR_operator_new_004c13a8" (* "*") (cast_expression "(code *)PTR_operator_new_004c13a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_004c13a8"))) () ")")) (argument_list "(0x38)" (( "(") (number_literal "0x38") () ")"))))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);" (assignment_expression "uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)(0x20)" (parenthesized_expression "(*(code *)PTR_default_alignment_for_size_004c1b04)" (( "(") (pointer_expression "*(code *)PTR_default_alignment_for_size_004c1b04" (* "*") (cast_expression "(code *)PTR_default_alignment_for_size_004c1b04" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_default_alignment_for_size_004c1b04"))) () ")")) (argument_list "(0x20)" (( "(") (number_literal "0x20") () ")")))) (; ";")) (expression_statement "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);" (assignment_expression "puVar4[10] = (int)((ulonglong)uVar7 >> 0x20)" (subscript_expression "puVar4[10]" (identifier "puVar4") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(int)((ulonglong)uVar7 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar7 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar7 >> 0x20" (cast_expression "(ulonglong)uVar7" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar7")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "puVar4[3] = 0;" (assignment_expression "puVar4[3] = 0" (subscript_expression "puVar4[3]" (identifier "puVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = PTR_vtable_004c2464;" (assignment_expression "puVar1 = PTR_vtable_004c2464" (identifier "puVar1") (= "=") (identifier "PTR_vtable_004c2464")) (; ";")) (expression_statement "puVar4[2] = 0;" (assignment_expression "puVar4[2] = 0" (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4[7] = 0xffffffff;" (assignment_expression "puVar4[7] = 0xffffffff" (subscript_expression "puVar4[7]" (identifier "puVar4") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar4[6] = 0xffffffff;" (assignment_expression "puVar4[6] = 0xffffffff" (subscript_expression "puVar4[6]" (identifier "puVar4") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar4[9] = 0;" (assignment_expression "puVar4[9] = 0" (subscript_expression "puVar4[9]" (identifier "puVar4") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4[5] = 0;" (assignment_expression "puVar4[5] = 0" (subscript_expression "puVar4[5]" (identifier "puVar4") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4[4] = 0;" (assignment_expression "puVar4[4] = 0" (subscript_expression "puVar4[4]" (identifier "puVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;" (assignment_expression "*(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" (* "*") (cast_expression "(byte *)(puVar4 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 8)" (( "(") (binary_expression "puVar4 + 8" (identifier "puVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(byte *)(puVar4 + 8) & 7" (pointer_expression "*(byte *)(puVar4 + 8)" (* "*") (cast_expression "(byte *)(puVar4 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 8)" (( "(") (binary_expression "puVar4 + 8" (identifier "puVar4") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "7"))) (; ";")) (expression_statement "puVar4[0xb] = (int)uVar7;" (assignment_expression "puVar4[0xb] = (int)uVar7" (subscript_expression "puVar4[0xb]" (identifier "puVar4") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "*puVar4 = puVar1 + 8;" (assignment_expression "*puVar4 = puVar1 + 8" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (binary_expression "puVar1 + 8" (identifier "puVar1") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar4[0xc] = param_5;" (assignment_expression "puVar4[0xc] = param_5" (subscript_expression "puVar4[0xc]" (identifier "puVar4") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "param_5")) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);" (call_expression "(*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4)" (parenthesized_expression "(*(code *)PTR_add_output_section_data_004c2104)" (( "(") (pointer_expression "*(code *)PTR_add_output_section_data_004c2104" (* "*") (cast_expression "(code *)PTR_add_output_section_data_004c2104" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_output_section_data_004c2104"))) () ")")) (argument_list "(pOVar5,puVar4)" (( "(") (identifier "pOVar5") (, ",") (identifier "puVar4") () ")"))) (; ";")) (if_statement "if (*(int *)(param_5 + 0x10) == 0) {\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_5 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(param_5 + 0x10) == 0" (pointer_expression "*(int *)(param_5 + 0x10)" (* "*") (cast_expression "(int *)(param_5 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x10)" (( "(") (binary_expression "param_5 + 0x10" (identifier "param_5") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined4 **)(param_5 + 0x10) = puVar4;\n    if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }\n    return pOVar5;\n  }" ({ "{") (expression_statement "*(undefined4 **)(param_5 + 0x10) = puVar4;" (assignment_expression "*(undefined4 **)(param_5 + 0x10) = puVar4" (pointer_expression "*(undefined4 **)(param_5 + 0x10)" (* "*") (cast_expression "(undefined4 **)(param_5 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0x10)" (( "(") (binary_expression "param_5 + 0x10" (identifier "param_5") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "puVar4")) (; ";")) (if_statement "if (local_40 != local_38) {\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" (if "if") (parenthesized_expression "(local_40 != local_38)" (( "(") (binary_expression "local_40 != local_38" (identifier "local_40") (!= "!=") (identifier "local_38")) () ")")) (compound_statement "{\n      (*(code *)PTR_operator_delete_004c12fc)();\n    }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return pOVar5;" (return "return") (identifier "pOVar5") (; ";")) (} "}"))) (expression_statement "FUN_001af244();" (call_expression "FUN_001af244()" (identifier "FUN_001af244") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_001c19e4:\n  pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);" (statement_identifier "LAB_001c19e4") (: ":") (expression_statement "pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);" (assignment_expression "pOVar5 = (Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" (identifier "pOVar5") (= "=") (cast_expression "(Output_section *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0x320c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x320c")) (, ",") (number_literal "0x537") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x4220" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x4220")) () ")"))))) (; ";"))) (return_statement "return pOVar5;" (return "return") (identifier "pOVar5") (; ";")) (} "}"))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original name: layout_reloc<32, true>
   DWARF original prototype: Output_section * layout_reloc<32,_true>(Layout * this,
   Sized_relobj_file<32,_true> * param_3, uint param_4, Shdr<32,_true> * shdr, Output_section *
   data_section, Relocatable_relocs * rr) */

type_4 * __thiscall
gold::Layout::layout_reloc<32,_true>
          (Layout *this,Sized_relobj_file<32,_true> *param_1,type_2 param_2,Shdr<32,_true> *shdr,
          type_4 *var_16,type_12 *rr)

{
  type_1 var_13;
  int var_6;
  type_2 var_11;
  type_3 *pOVar4;
  char *name_00;
  type_4 *pOVar5;
  type_5 *var_14;
  type_3 *posd;
  type_6 order;
  type_7 var_10;
  anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
  *var_5;
  type_4 *var_12;
  type_8 uVar8;
  type_9 uVar9;
  type_10 name;
  
  var_6 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);
  if (var_6 == 0) {
    posd = (type_3 *)&DAT_0000005c;
    pOVar5 = (type_4 *)(var_7 + -0x9b8);
    (*(type_11 *)PTR_do_gold_unreachable_004c1a30)(pOVar5,0x5c,var_8 + 0x47cc);
LAB_001c19d4:
                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */
    Relocatable_relocs::var_9((type_12 *)pOVar5,posd);
LAB_001c19e4:
    (*(type_11 *)PTR_do_gold_unreachable_004c1a30)
              (var_8 + 0x320c,0x537,var_8 + 0x4220);
LAB_001c1a00:
    (*(type_11 *)PTR_do_gold_unreachable_004c1a30)
              (var_8 + 0x320c,0x557,var_8 + 0x4220);
  }
  else {
    if ((*(char *)(var_6 + 0x3195) != '\0') || (*(char *)(var_6 + 0x309d) != '\0')) {
      var_5 = &name.field_2;
      var_10 = shdr->p_->sh_type;
      name._M_string_length = 0;
      name.field_2._M_local_buf[0] = '\0';
      name._M_dataplus._M_p = (type_13)var_5;
      if (var_10 == 9) goto LAB_001c1820;
      if (var_10 == 4) {
                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */
        (*(type_11 *)PTR__M_replace_004c20a0)(&name,0,0,var_8 + 0x3f18,5);
        goto LAB_001c16b0;
      }
      goto LAB_001c19e4;
    }
    (*(type_11 *)PTR_do_gold_unreachable_004c1a30)
              (var_8 + 0x320c,0x52d,var_8 + 0x4220);
LAB_001c1820:
                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */
    (*(type_11 *)PTR__M_replace_004c20a0)(&name,0,0,var_8 + 0x3f10,4);
LAB_001c16b0:
    uVar8 = *(type_8 *)&(var_16->super_Output_data).field_0x24;
    var_11 = (*(type_11 *)PTR_strlen_004c5b9c)(uVar8);
    if (0x7fffffff - name._M_string_length < var_11) {
      pOVar5 = (type_4 *)
               (*(type_11 *)PTR___throw_length_error_004c1e74)
                         (var_7 + 0x446c);
      return pOVar5;
    }
    (*(type_11 *)PTR__M_append_004c1e68)(&name,uVar8,var_11);
    var_12 = var_16->reloc_section_;
    if (var_12 != (type_4 *)0x0) {
LAB_001c16fc:
      if (var_10 == 9) {
        (*(type_11 *)PTR_set_entsize_004c1a6c)(var_12);
        pOVar4 = (type_3 *)(*(type_11 *)PTR_operator_new_004c13a8)(0x38);
                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */
        uVar9 = (*(type_11 *)PTR_default_alignment_for_size_004c1b04)(0x20);
        var_13 = pOVar4->field_0x20;
        pOVar4[1]._vptr_Output_data = (type_14 **)((type_15)uVar9 >> 0x20);
        *(type_8 *)((int)&pOVar4->address_ + 4) = 0;
        var_14 = PTR_vtable_004c2468;
        *(type_8 *)&pOVar4->address_ = 0;
        *(type_8 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;
        *(type_8 *)&pOVar4->offset_ = 0xffffffff;
        *(type_8 *)&pOVar4->field_0x24 = 0;
        *(type_8 *)((int)&pOVar4->data_size_ + 4) = 0;
        *(type_8 *)&pOVar4->data_size_ = 0;
        pOVar4->field_0x20 = var_13 & 7;
        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;
        pOVar4->_vptr_Output_data = (type_14 **)(var_14 + 8);
        *(type_12 **)&pOVar4[1].address_ = rr;
LAB_001c1798:
        pOVar5 = var_12;
        posd = pOVar4;
                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */
        (*(type_11 *)PTR_add_output_section_data_004c2104)();
        if (rr->posd_ == (type_3 *)0x0) {
          rr->posd_ = pOVar4;
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
               *)name._M_dataplus._M_p != var_5) {
            (*(type_11 *)PTR_operator_delete_004c12fc)();
          }
          return var_12;
        }
        goto LAB_001c19d4;
      }
      if (var_10 == 4) {
        (*(type_11 *)PTR_set_entsize_004c1a6c)(var_12);
        pOVar4 = (type_3 *)(*(type_11 *)PTR_operator_new_004c13a8)(0x38);
                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */
        uVar9 = (*(type_11 *)PTR_default_alignment_for_size_004c1b04)(0x20);
        var_13 = pOVar4->field_0x20;
        pOVar4[1]._vptr_Output_data = (type_14 **)((type_15)uVar9 >> 0x20);
        *(type_8 *)((int)&pOVar4->address_ + 4) = 0;
        var_14 = PTR_vtable_004c2464;
        *(type_8 *)&pOVar4->address_ = 0;
        *(type_8 *)((int)&pOVar4->offset_ + 4) = 0xffffffff;
        *(type_8 *)&pOVar4->offset_ = 0xffffffff;
        *(type_8 *)&pOVar4->field_0x24 = 0;
        *(type_8 *)((int)&pOVar4->data_size_ + 4) = 0;
        *(type_8 *)&pOVar4->data_size_ = 0;
        pOVar4->field_0x20 = var_13 & 7;
        *(int *)&pOVar4[1].field_0x4 = (int)uVar9;
        pOVar4->_vptr_Output_data = (type_14 **)(var_14 + 8);
        *(type_12 **)&pOVar4[1].address_ = rr;
        goto LAB_001c1798;
      }
      goto LAB_001c1a00;
    }
    order = ORDER_INVALID;
                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */
    name_00 = (char *)(*(type_11 *)PTR_add_004c1ca4)(&this->namepool_,name._M_dataplus._M_p,1);
    var_12 = var_15(this,name_00,var_10,(type_15)shdr->p_->sh_flags,order,false);
    if (((var_12->link_section_ != (type_3 *)0x0) || (var_12->link_ != 0)) ||
       ((int)(*(type_2 *)&var_12->field_0x98 << 3) < 0)) goto LAB_001c1a40;
    var_11 = *(type_2 *)&var_12->field_0x98 & 0xdfffffff;
    *(type_2 *)&var_12->field_0x98 = var_11 | 0x20000000;
    if ((((var_12->info_section_ == (type_4 *)0x0) ||
         ((var_16 == var_12->info_section_ && ((int)(var_11 << 8) < 0)))) &&
        (var_12->info_symndx_ == (type_16 *)0x0)) && (var_12->info_ == 0)) {
      var_12->info_section_ = var_16;
      *(type_2 *)&var_12->field_0x98 = *(type_2 *)&var_12->field_0x98 & 0xff7fffff | 0x800000;
      var_16->reloc_section_ = var_12;
      goto LAB_001c16fc;
    }
  }
  (*(type_11 *)PTR_do_gold_unreachable_004c1a30)
            (var_7 + 0x3574,0xd3a,var_8 + 0x4240);
LAB_001c1a40:
  var_14 = var_7 + 0x3574;
  (*(type_11 *)PTR_do_gold_unreachable_004c1a30)(var_14,0xd1b,var_8 + 0x4254);
                    /* catch() { ... } // from try @ 001c16a4 with catch @ 001c1a54
                       catch() { ... } // from try @ 001c17a0 with catch @ 001c1a54
                       catch() { ... } // from try @ 001c1840 with catch @ 001c1a54
                       catch() { ... } // from try @ 001c18f0 with catch @ 001c1a54
                       catch() { ... } // from try @ 001c19dc with catch @ 001c1a54 */
  if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
       *)name._M_dataplus._M_p != var_5) {
    (*(type_11 *)PTR_operator_delete_004c12fc)();
  }
  pOVar5 = (type_4 *)(*(type_11 *)PTR__Unwind_Resume_004c12c8)(var_14);
  return pOVar5;
}


(translation_unit (ERROR (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier) (identifier) (identifier)) right: (number_literal)) (ERROR (true)) right: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))))))))) (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence)))) right: (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: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_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 (pointer_expression argument: (identifier)) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (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 (pointer_expression argument: (identifier)) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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 (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))))))) (return_statement (identifier)))) (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 (pointer_expression argument: (identifier)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)) (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))) right: (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))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) right: (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))))) right: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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 (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (identifier)))) (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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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 (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (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 (identifier) (identifier)))) (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 (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_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))))) (return_statement (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (identifier))))

/* gold::Output_section* gold::Layout::layout_reloc<32, true>(gold::Sized_relobj_file<32, true>*,
   unsigned int, elfcpp::Shdr<32, true> const&, gold::Output_section*, gold::Relocatable_relocs*) */

Output_section * __thiscall
gold::Layout::MASKED
          (Layout *this,Sized_relobj_file *param_1,uint param_2,Shdr *param_3,
          Output_section *param_4,Relocatable_relocs *param_5)

{
  undefined *puVar1;
  int iVar2;
  uint uVar3;
  undefined4 *puVar4;
  Output_section *pOVar5;
  undefined4 uVar6;
  undefined8 uVar7;
  undefined1 *local_40;
  int local_3c;
  undefined1 local_38 [20];
  
  iVar2 = *(int *)(*(int *)PTR_parameters_004c19b4 + 8);
  if (iVar2 == 0) {
    pOVar5 = (Output_section *)
             (*(code *)PTR_do_gold_unreachable_004c1a30)
                       (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,
                        PTR_s__s_004c1a50 + 0x47cc);
    return pOVar5;
  }
  if ((*(char *)(iVar2 + 0x3195) == '\0') && (*(char *)(iVar2 + 0x309d) == '\0')) {
    pOVar5 = (Output_section *)
             (*(code *)PTR_do_gold_unreachable_004c1a30)
                       (PTR_s__s_004c1a50 + 0x320c,0x52d,PTR_s__s_004c1a50 + 0x4220);
    return pOVar5;
  }
  iVar2 = *(int *)(*(int *)param_3 + 4);
  local_3c = 0;
  local_38[0] = 0;
  local_40 = local_38;
  if (iVar2 == 9) {
                    /* try { // try from 001c1840 to 001c1873 has its CatchHandler @ 001c1a54 */
    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f10,4);
  }
  else {
    if (iVar2 != 4) goto LAB_001c19e4;
                    /* try { // try from 001c16a4 to 001c172f has its CatchHandler @ 001c1a54 */
    (*(code *)PTR__M_replace_004c20a0)(&local_40,0,0,PTR_s__s_004c1a50 + 0x3f18,5);
  }
  uVar6 = *(undefined4 *)(param_4 + 0x24);
  uVar3 = (*(code *)PTR_strlen_004c5b9c)(uVar6);
  if (0x7fffffffU - local_3c < uVar3) {
    pOVar5 = (Output_section *)
             (*(code *)PTR___throw_length_error_004c1e74)
                       (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x446c);
    return pOVar5;
  }
  (*(code *)PTR__M_append_004c1e68)(&local_40,uVar6,uVar3);
  pOVar5 = *(Output_section **)(param_4 + 0xf8);
  if (pOVar5 == (Output_section *)0x0) {
                    /* try { // try from 001c18f0 to 001c19b7 has its CatchHandler @ 001c1a54 */
    uVar6 = (*(code *)PTR_add_004c1ca4)(this + 8,local_40,1,0);
    pOVar5 = (Output_section *)make_output_section(this,uVar6,iVar2);
    if (((*(int *)(pOVar5 + 0x40) != 0) || (*(int *)(pOVar5 + 0x44) != 0)) ||
       ((int)(*(uint *)(pOVar5 + 0x98) << 3) < 0)) {
      pOVar5 = (Output_section *)
               (*(code *)PTR_do_gold_unreachable_004c1a30)
                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd1b,
                          PTR_s__s_004c1a50 + 0x4254);
      return pOVar5;
    }
    uVar3 = *(uint *)(pOVar5 + 0x98) & 0xdfffffff;
    *(uint *)(pOVar5 + 0x98) = uVar3 | 0x20000000;
    if ((((*(Output_section **)(pOVar5 + 0x48) != (Output_section *)0x0) &&
         ((param_4 != *(Output_section **)(pOVar5 + 0x48) || (-1 < (int)(uVar3 << 8))))) ||
        (*(int *)(pOVar5 + 0x4c) != 0)) || (*(int *)(pOVar5 + 0x50) != 0)) {
      pOVar5 = (Output_section *)
               (*(code *)PTR_do_gold_unreachable_004c1a30)
                         (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xd3a,
                          PTR_s__s_004c1a50 + 0x4240);
      return pOVar5;
    }
    *(Output_section **)(pOVar5 + 0x48) = param_4;
    *(uint *)(pOVar5 + 0x98) = *(uint *)(pOVar5 + 0x98) & 0xff7fffff | 0x800000;
    *(Output_section **)(param_4 + 0xf8) = pOVar5;
  }
  if (iVar2 == 9) {
    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);
    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);
                    /* try { // try from 001c1880 to 001c1887 has its CatchHandler @ 001c1a80 */
    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);
    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);
    puVar4[3] = 0;
    puVar1 = PTR_vtable_004c2468;
    puVar4[2] = 0;
    puVar4[7] = 0xffffffff;
    puVar4[6] = 0xffffffff;
    puVar4[9] = 0;
    puVar4[5] = 0;
    puVar4[4] = 0;
    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;
    puVar4[0xb] = (int)uVar7;
    *puVar4 = puVar1 + 8;
    puVar4[0xc] = param_5;
  }
  else {
    if (iVar2 != 4) {
      pOVar5 = (Output_section *)
               (*(code *)PTR_do_gold_unreachable_004c1a30)
                         (PTR_s__s_004c1a50 + 0x320c,0x557,PTR_s__s_004c1a50 + 0x4220);
      return pOVar5;
    }
    (*(code *)PTR_set_entsize_004c1a6c)(pOVar5);
    puVar4 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(0x38);
                    /* try { // try from 001c173c to 001c1743 has its CatchHandler @ 001c1aa0 */
    uVar7 = (*(code *)PTR_default_alignment_for_size_004c1b04)(0x20);
    puVar4[10] = (int)((ulonglong)uVar7 >> 0x20);
    puVar4[3] = 0;
    puVar1 = PTR_vtable_004c2464;
    puVar4[2] = 0;
    puVar4[7] = 0xffffffff;
    puVar4[6] = 0xffffffff;
    puVar4[9] = 0;
    puVar4[5] = 0;
    puVar4[4] = 0;
    *(byte *)(puVar4 + 8) = *(byte *)(puVar4 + 8) & 7;
    puVar4[0xb] = (int)uVar7;
    *puVar4 = puVar1 + 8;
    puVar4[0xc] = param_5;
  }
                    /* try { // try from 001c17a0 to 001c17a7 has its CatchHandler @ 001c1a54 */
  (*(code *)PTR_add_output_section_data_004c2104)(pOVar5,puVar4);
  if (*(int *)(param_5 + 0x10) == 0) {
    *(undefined4 **)(param_5 + 0x10) = puVar4;
    if (local_40 != local_38) {
      (*(code *)PTR_operator_delete_004c12fc)();
    }
    return pOVar5;
  }
                    /* try { // try from 001c19dc to 001c1a53 has its CatchHandler @ 001c1a54 */
  FUN_001af244();
LAB_001c19e4:
  pOVar5 = (Output_section *)
           (*(code *)PTR_do_gold_unreachable_004c1a30)
                     (PTR_s__s_004c1a50 + 0x320c,0x537,PTR_s__s_004c1a50 + 0x4220);
  return pOVar5;
}

