
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* 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 prototype: void set_final_data_size(Output_section_incremental_inputs<32,_true> *
   this) */

void __thiscall
gold::Output_section_incremental_inputs<32,_true>::set_final_data_size
          (Output_section_incremental_inputs<32,_true> *this)

{
  undefined *puVar1;
  uint uVar2;
  int iVar3;
  Output_data_space *pOVar4;
  int iVar5;
  pointer ppIVar6;
  Incremental_input_entry *pIVar7;
  Symbol_table *pSVar8;
  uint uVar9;
  Output_data_space *pOVar10;
  int *piVar11;
  Incremental_inputs *pIVar12;
  pointer ppIVar13;
  
  puVar1 = PTR_s__s_004c1a50;
  pIVar12 = this->inputs_;
  ppIVar13 = (pIVar12->inputs_).
             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
             ._M_impl._M_start;
  ppIVar6 = (pIVar12->inputs_).
            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
            ._M_impl._M_finish;
  if (ppIVar6 != ppIVar13) {
    pIVar7 = *ppIVar13;
    pIVar7->file_index_ = 0;
    pIVar7->offset_ = 0x10;
    uVar2 = (*pIVar7->_vptr_Incremental_input_entry[2])(pIVar7);
    if (uVar2 < 6) {
                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +
                *(int *)(puVar1 + uVar2 * 4 + 0x1174)))();
      return;
    }
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);
  }
  iVar3 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20;
  if ((-1 < iVar3 << 1) && (-1 < iVar3 << 3)) {
    pOVar10 = pIVar12->symtab_section_;
    pSVar8 = this->symtab_;
    (this->super_Output_section_data).super_Output_data.field_0x20 =
         (this->super_Output_section_data).super_Output_data.field_0x20 & 0xbf | 0x40;
    *(undefined4 *)&(this->super_Output_section_data).super_Output_data.data_size_ = 0;
    *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) =
         ((int)ppIVar6 - (int)ppIVar13 >> 2) * 0x18 + 0x10;
    uVar2 = pSVar8->output_count_;
    if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.field_0x20 << 1) {
      pOVar4 = pIVar12->relocs_section_;
      uVar9 = pIVar12->reloc_count_;
      *(undefined4 *)
       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.
        data_size_ = 0;
      *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.data_size_ + 4) = uVar2 << 2;
      if (-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.
                        super_Output_data.field_0x20 << 1) {
        *(undefined4 *)
         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.
          data_size_ = 0;
        *(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.
                        super_Output_data.data_size_ + 4) = uVar9 << 4;
        piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
        if (piVar11 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,
                              PTR_s__s_004c1a50 + 0x27b8);
        }
        iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11);
        iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11);
        pOVar10 = pIVar12->got_plt_section_;
        if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.
                          super_Output_data.field_0x20 << 1) {
          *(undefined4 *)
           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.
            data_size_ = 0;
          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.
                          super_Output_data.data_size_ + 4) =
               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);
          return;
        }
      }
    }
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,
                        PTR_s__s_004c1a50 + 0x29cc);
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,
                      PTR_s__s_004c1a50 + 0x29fc);
}



void FUN_0018fb54(int param_1)

{
  undefined *puVar1;
  uint uVar2;
  int iVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  undefined4 *puVar8;
  int *piVar9;
  
  puVar1 = PTR_s__s_004c1a50;
  puVar8 = *(undefined4 **)(param_1 + 0x30);
  piVar9 = (int *)*puVar8;
  piVar4 = (int *)puVar8[1];
  if (piVar4 != piVar9) {
    piVar9 = (int *)*piVar9;
    piVar9[2] = 0;
    piVar9[3] = 0x10;
    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);
    if (uVar2 < 6) {
                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)(gold::Position_dependent_options::default_options_ +
                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();
      return;
    }
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);
  }
  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {
    iVar6 = puVar8[0xe];
    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;
    *(undefined4 *)(param_1 + 0x10) = 0;
    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;
    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);
    if (-1 < *(int *)(iVar6 + 0x20) << 1) {
      iVar3 = puVar8[0xf];
      iVar5 = puVar8[0x11];
      *(undefined4 *)(iVar6 + 0x10) = 0;
      *(int *)(iVar6 + 0x14) = iVar7 << 2;
      if (-1 < *(int *)(iVar3 + 0x20) << 1) {
        *(undefined4 *)(iVar3 + 0x10) = 0;
        *(int *)(iVar3 + 0x14) = iVar5 << 4;
        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
        if (piVar4 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,
                     PTR_s__s_004c1a50 + 0x27b8);
        }
        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);
        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);
        iVar3 = puVar8[0x10];
        if (-1 < *(int *)(iVar3 + 0x20) << 1) {
          *(undefined4 *)(iVar3 + 0x10) = 0;
          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);
          return;
        }
      }
    }
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable
              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc
              );
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);
}


lui gp,0x34
addiu gp,gp,-0x6914
addu gp,gp,t9
addiu sp,sp,-0x48
sw s4,0x30(sp)
sw s7,0x3c(sp)
lw s4,0x30(a0)
sw s0,0x20(sp)
sw gp,0x10(sp)
sw ra,0x44(sp)
lw s7,0x0(s4)
lw v1,0x4(s4)
sw s8,0x40(sp)
sw s6,0x38(sp)
subu v0,v1,s7
sw s5,0x34(sp)
sw s3,0x2c(sp)
sra v0,v0,0x2
sw s2,0x28(sp)
sw s1,0x24(sp)
sll s0,v0,0x1
sw a0,0x48(sp)
addu s0,s0,v0
sll s0,s0,0x3
beq v1,s7,0x0018fc84
_addiu s0,s0,0x10
lw s5,-0x77f0(gp)
or s1,zero,zero
li s2,-0x1
addiu v0,s5,0x1174
sw v0,0x18(sp)
lw v1,0x0(s7)
sll v0,s1,0x1
addu v0,v0,s1
or a0,v1,zero
lw a1,0x0(v1)
sll v0,v0,0x3
sw s1,0x8(v1)
addiu v0,v0,0x10
sw v0,0xc(v1)
lw t9,0x8(a1)
jalr t9
_addiu s1,s1,0x1
sltiu v1,v0,0x6
beq v1,zero,0x0018ff70
_lw gp,0x10(sp)
lw v1,0x18(sp)
sll v0,v0,0x2
addu v0,v1,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
lw v0,0x0(s7)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0xc(v0)
jalr t9
_nop
beq v0,zero,0x0018ff8c
_lw gp,0x10(sp)
lw v1,0x28(v0)
addiu a0,s0,0x4
lw a1,0x24(v0)
lw v0,0x0(s7)
subu v1,v1,a1
sw s0,0x10(v0)
addu s0,v1,a0
andi v0,s0,0x4
beq v0,zero,0x0018fc74
_nop
addiu s0,s0,0x4
lw v0,0x4(s4)
addiu s7,s7,0x4
bne v0,s7,0x0018fbd0
_nop
lw v0,0x48(sp)
lw v0,0x20(v0)
ext v1,v0,0x1e,0x1
bne v1,zero,0x0018ffb0
_ext v0,v0,0x1c,0x1
bne v0,zero,0x0018ffb0
_lw v0,0x48(sp)
li a1,0x1
lw v1,0x48(sp)
lw a0,0x38(s4)
lbu v0,0x20(v0)
lw v1,0x34(v1)
ins v0,a1,0x6,0x1
lw a1,0x48(sp)
sb v0,0x20(a1)
sw zero,0x10(a1)
sw s0,0x14(a1)
lw v0,0x20(a0)
lw a1,0x10(v1)
ext v0,v0,0x1e,0x1
bne v0,zero,0x0018ff94
_sll a1,a1,0x2
lw v0,0x3c(s4)
lw v1,0x44(s4)
sw zero,0x10(a0)
sw a1,0x14(a0)
lw a0,0x20(v0)
ext a0,a0,0x1e,0x1
bne a0,zero,0x0018ff94
_sll v1,v1,0x4
sw zero,0x10(v0)
sw v1,0x14(v0)
lw v0,-0x788c(gp)
lw v0,0x0(v0)
lw s0,0xc(v0)
beq s0,zero,0x0018ffe4
_lw a2,-0x77f0(gp)
lw v0,0x0(s0)
lw t9,0xcc(v0)
jalr t9
_or a0,s0,zero
or a0,s0,zero
lw v1,0x0(s0)
lw t9,0xd0(v1)
jalr t9
_or s0,v0,zero
sll v1,s0,0x1
lw a0,0x40(s4)
addiu s0,s0,0xb
addu v0,v1,v0
lw gp,0x10(sp)
li a1,-0x4
sll v0,v0,0x2
lw v1,0x20(a0)
and s0,s0,a1
ext v1,v1,0x1e,0x1
bne v1,zero,0x0018ff94
_addu v0,v0,s0
lw ra,0x44(sp)
lw s8,0x40(sp)
lw s7,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
sw zero,0x10(a0)
sw v0,0x14(a0)
jr ra
_addiu sp,sp,0x48
lw v0,0x0(s7)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x14(v0)
jalr t9
_nop
beq v0,zero,0x0018ffdc
_lw gp,0x10(sp)
lw v0,0x28(v0)
lw v1,0x0(s7)
or a0,v0,zero
lw v0,0x0(v0)
sw s0,0x10(v1)
lw t9,0x74(v0)
jalr t9
_addiu s0,s0,0x8
lw gp,0x10(sp)
beq v0,zero,0x0018ffd4
_or s3,v0,zero
lw v0,0x0(v0)
lw s8,0x4(s3)
subu s8,s8,v0
sra s8,s8,0x2
beq s8,zero,0x0018fc64
_or s6,zero,zero
b 0x0018fe38
_or s5,zero,zero
lw v0,0x10(v0)
beq v0,zero,0x0018ff58
_lw a2,-0x77f0(gp)
beq v0,s2,0x0018fe28
_nop
addiu s5,s5,0x1
addiu s6,s6,0x1
beq s6,s8,0x0018ff50
_sll a2,s5,0x2
lw v0,0x0(s3)
sll v1,s6,0x2
addu v0,v0,v1
lw v0,0x0(v0)
beq v0,zero,0x0018fe28
_nop
lw v1,0x28(v0)
ext v1,v1,0xb,0x1
beq v1,zero,0x0018fe10
_or a1,v0,zero
lw v0,0x48(sp)
lw t9,-0x7678(gp)
jalr t9
_lw a0,0x34(v0)
b 0x0018fe10
_lw gp,0x10(sp)
lw v0,0x0(s7)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x10(v0)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x0018fffc
_or s6,v0,zero
lw v1,0x24(v0)
addiu a1,s0,0x20
lw a3,0x0(s7)
lw v0,0x30(v0)
or a0,v1,zero
lw a2,0x2c(s6)
lw v1,0x0(v1)
sw s0,0x10(a3)
subu s0,v0,a2
lw t9,0x74(v1)
jalr t9
_addu s0,s0,a1
lw v1,0x4(v0)
lw v0,0x0(v0)
lw a0,0x3c(s6)
lw a1,0x38(s6)
subu v0,v1,v0
lw gp,0x10(sp)
sra v0,v0,0x2
subu a0,a0,a1
addu a0,a0,s0
sll s0,v0,0x2
addu s0,s0,v0
sll s0,s0,0x2
b 0x0018fc64
_addu s0,s0,a0
lw v0,0x0(s7)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x18(v0)
jalr t9
_nop
beq v0,zero,0x0018ffcc
_lw gp,0x10(sp)
lw v1,0x28(v0)
addiu a1,s0,0x8
lw a3,0x24(v0)
lw a0,0x34(v0)
lw a2,0x30(v0)
subu v1,v1,a3
lw v0,0x0(s7)
subu a0,a0,a2
addu v1,v1,a1
sw s0,0x10(v0)
b 0x0018fc64
_addu s0,a0,v1
b 0x0018fc64
_addu s0,s0,a2
li a1,0x180
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x2a0c
bal 0x0017db90
_addiu a0,a0,0x3860
li a1,0x553
lw a2,-0x77f0(gp)
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x27c8
bal 0x0017db90
_addiu a0,a0,0xee0
b 0x0018ff74
_li a1,0x510
lw a2,-0x77f0(gp)
li a1,0x231
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x29cc
bal 0x0017db90
_addiu a0,a0,0x3574
lw a2,-0x77f0(gp)
li a1,0x218
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x29fc
bal 0x0017db90
_addiu a0,a0,0x3574
b 0x0018ff74
_li a1,0x548
b 0x0018ff74
_li a1,0x535
b 0x0018ff74
_li a1,0x52f
li a1,0x73
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x27b8
bal 0x0017db90
_addiu a0,a0,-0x9b8
b 0x0018ff74
_li a1,0x51c
(translation_unit "void FUN_0018fb54(int param_1)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  puVar8 = *(undefined4 **)(param_1 + 0x30);\n  piVar9 = (int *)*puVar8;\n  piVar4 = (int *)puVar8[1];\n  if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);\n}\n\n" (function_definition "void FUN_0018fb54(int param_1)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  puVar8 = *(undefined4 **)(param_1 + 0x30);\n  piVar9 = (int *)*puVar8;\n  piVar4 = (int *)puVar8[1];\n  if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);\n}" primitive_type (function_declarator "FUN_0018fb54(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  puVar8 = *(undefined4 **)(param_1 + 0x30);\n  piVar9 = (int *)*puVar8;\n  piVar4 = (int *)puVar8[1];\n  if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (expression_statement "puVar1 = PTR_s__s_004c1a50;" (assignment_expression "puVar1 = PTR_s__s_004c1a50" identifier = identifier) ;) (expression_statement "puVar8 = *(undefined4 **)(param_1 + 0x30);" (assignment_expression "puVar8 = *(undefined4 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "piVar9 = (int *)*puVar8;" (assignment_expression "piVar9 = (int *)*puVar8" identifier = (cast_expression "(int *)*puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "piVar4 = (int *)puVar8[1];" (assignment_expression "piVar4 = (int *)puVar8[1]" identifier = (cast_expression "(int *)puVar8[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }" if (parenthesized_expression "(piVar4 != piVar9)" ( (binary_expression "piVar4 != piVar9" identifier != identifier) )) (compound_statement "{\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }" { (expression_statement "piVar9 = (int *)*piVar9;" (assignment_expression "piVar9 = (int *)*piVar9" identifier = (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0x10;" (assignment_expression "piVar9[3] = 0x10" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = (**(code **)(*piVar9 + 8))(piVar9);" (assignment_expression "uVar2 = (**(code **)(*piVar9 + 8))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 8))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 8))" ( (pointer_expression "**(code **)(*piVar9 + 8)" * (pointer_expression "*(code **)(*piVar9 + 8)" * (cast_expression "(code **)(*piVar9 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 8)" ( (binary_expression "*piVar9 + 8" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (if_statement "if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }" if (parenthesized_expression "(uVar2 < 6)" ( (binary_expression "uVar2 < 6" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }" { comment comment (expression_statement "(*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();" (call_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))()" (parenthesized_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))" ( (pointer_expression "*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210)" * (cast_expression "(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210" (binary_expression "default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)" identifier + (pointer_expression "*(int *)(puVar1 + uVar2 * 4 + 0x1174)" * (cast_expression "(int *)(puVar1 + uVar2 * 4 + 0x1174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + uVar2 * 4 + 0x1174)" ( (binary_expression "puVar1 + uVar2 * 4 + 0x1174" (binary_expression "puVar1 + uVar2 * 4" identifier + (binary_expression "uVar2 * 4" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8)" ( (binary_expression "PTR_s__s_004c1a50 + 0xee0" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x27c8" identifier + number_literal) ))) ;)) })) (if_statement "if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }" if (parenthesized_expression "((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3))" ( (binary_expression "(-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)" (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal)) )) && (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 3)" ( (binary_expression "-1 < *(int *)(param_1 + 0x20) << 3" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 3" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }" { (expression_statement "iVar6 = puVar8[0xe];" (assignment_expression "iVar6 = puVar8[0xe]" identifier = (subscript_expression "puVar8[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;" (assignment_expression "*(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 0x20) & 0xbf | 0x40" (binary_expression "*(byte *)(param_1 + 0x20) & 0xbf" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;" (assignment_expression "*(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10" (binary_expression "((int)piVar4 - (int)piVar9 >> 2) * 0x18" (parenthesized_expression "((int)piVar4 - (int)piVar9 >> 2)" ( (binary_expression "(int)piVar4 - (int)piVar9 >> 2" (binary_expression "(int)piVar4 - (int)piVar9" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) + number_literal)) ;) (expression_statement "iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0x10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0x10" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }" if (parenthesized_expression "(-1 < *(int *)(iVar6 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar6 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar6 + 0x20) << 1" (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }" { (expression_statement "iVar3 = puVar8[0xf];" (assignment_expression "iVar3 = puVar8[0xf]" identifier = (subscript_expression "puVar8[0xf]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = puVar8[0x11];" (assignment_expression "iVar5 = puVar8[0x11]" identifier = (subscript_expression "puVar8[0x11]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x10)" * (cast_expression "(undefined4 *)(iVar6 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar6 + 0x14) = iVar7 << 2;" (assignment_expression "*(int *)(iVar6 + 0x14) = iVar7 << 2" (pointer_expression "*(int *)(iVar6 + 0x14)" * (cast_expression "(int *)(iVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "iVar7 << 2" identifier << number_literal)) ;) (if_statement "if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(iVar3 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar3 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar3 + 0x20) << 1" (pointer_expression "*(int *)(iVar3 + 0x20)" * (cast_expression "(int *)(iVar3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }" { (expression_statement "*(undefined4 *)(iVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x10)" * (cast_expression "(undefined4 *)(iVar3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar3 + 0x14) = iVar5 << 4;" (assignment_expression "*(int *)(iVar3 + 0x14) = iVar5 << 4" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = (binary_expression "iVar5 << 4" identifier << number_literal)) ;) (expression_statement "piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (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 (piVar4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }" { comment (labeled_statement "gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);" (call_expression "do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x27b8" identifier + number_literal) ))) ;)) })) (expression_statement "iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);" (assignment_expression "iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4)" identifier = (call_expression "(**(code **)(*piVar4 + 0xcc))(piVar4)" (parenthesized_expression "(**(code **)(*piVar4 + 0xcc))" ( (pointer_expression "**(code **)(*piVar4 + 0xcc)" * (pointer_expression "*(code **)(*piVar4 + 0xcc)" * (cast_expression "(code **)(*piVar4 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar4 + 0xcc)" ( (binary_expression "*piVar4 + 0xcc" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) )) (argument_list "(piVar4)" ( identifier )))) ;) (expression_statement "iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);" (assignment_expression "iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4)" identifier = (call_expression "(**(code **)(*piVar4 + 0xd0))(piVar4)" (parenthesized_expression "(**(code **)(*piVar4 + 0xd0))" ( (pointer_expression "**(code **)(*piVar4 + 0xd0)" * (pointer_expression "*(code **)(*piVar4 + 0xd0)" * (cast_expression "(code **)(*piVar4 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar4 + 0xd0)" ( (binary_expression "*piVar4 + 0xd0" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) )) (argument_list "(piVar4)" ( identifier )))) ;) (expression_statement "iVar3 = puVar8[0x10];" (assignment_expression "iVar3 = puVar8[0x10]" identifier = (subscript_expression "puVar8[0x10]" identifier [ number_literal ])) ;) (if_statement "if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar3 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar3 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar3 + 0x20) << 1" (pointer_expression "*(int *)(iVar3 + 0x20)" * (cast_expression "(int *)(iVar3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }" { (expression_statement "*(undefined4 *)(iVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x10)" * (cast_expression "(undefined4 *)(iVar3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);" (assignment_expression "*(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc)" (pointer_expression "*(uint *)(iVar3 + 0x14)" * (cast_expression "(uint *)(iVar3 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = (binary_expression "(iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc)" (binary_expression "(iVar6 * 2 + iVar7) * 4" (parenthesized_expression "(iVar6 * 2 + iVar7)" ( (binary_expression "iVar6 * 2 + iVar7" (binary_expression "iVar6 * 2" identifier * number_literal) + identifier) )) * number_literal) + (parenthesized_expression "(iVar6 + 0xbU & 0xfffffffc)" ( (binary_expression "iVar6 + 0xbU & 0xfffffffc" (binary_expression "iVar6 + 0xbU" identifier + number_literal) & number_literal) )))) ;) (return_statement "return;" return ;) })) })) })) comment (labeled_statement "gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );" (call_expression "do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              )" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              )" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x29cc" identifier + number_literal) ))) ;)) })) comment (labeled_statement "gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);" (call_expression "do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x29fc" identifier + number_literal) ))) ;)) })))
(translation_unit "/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\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 prototype: void set_final_data_size(Output_section_incremental_inputs<32,_true> *\n   this) */\n\nvoid __thiscall\ngold::Output_section_incremental_inputs<32,_true>::set_final_data_size\n          (Output_section_incremental_inputs<32,_true> *this)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  int iVar3;\n  Output_data_space *pOVar4;\n  int iVar5;\n  pointer ppIVar6;\n  Incremental_input_entry *pIVar7;\n  Symbol_table *pSVar8;\n  uint uVar9;\n  Output_data_space *pOVar10;\n  int *piVar11;\n  Incremental_inputs *pIVar12;\n  pointer ppIVar13;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  pIVar12 = this->inputs_;\n  ppIVar13 = (pIVar12->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start;\n  ppIVar6 = (pIVar12->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n            ._M_impl._M_finish;\n  if (ppIVar6 != ppIVar13) {\n    pIVar7 = *ppIVar13;\n    pIVar7->file_index_ = 0;\n    pIVar7->offset_ = 0x10;\n    uVar2 = (*pIVar7->_vptr_Incremental_input_entry[2])(pIVar7);\n    if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)))();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }\n  iVar3 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20;\n  if ((-1 < iVar3 << 1) && (-1 < iVar3 << 3)) {\n    pOVar10 = pIVar12->symtab_section_;\n    pSVar8 = this->symtab_;\n    (this->super_Output_section_data).super_Output_data.field_0x20 =\n         (this->super_Output_section_data).super_Output_data.field_0x20 & 0xbf | 0x40;\n    *(undefined4 *)&(this->super_Output_section_data).super_Output_data.data_size_ = 0;\n    *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) =\n         ((int)ppIVar6 - (int)ppIVar13 >> 2) * 0x18 + 0x10;\n    uVar2 = pSVar8->output_count_;\n    if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20 << 1) {\n      pOVar4 = pIVar12->relocs_section_;\n      uVar9 = pIVar12->reloc_count_;\n      *(undefined4 *)\n       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_ = 0;\n      *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4) = uVar2 << 2;\n      if (-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20 << 1) {\n        *(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_ = 0;\n        *(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4) = uVar9 << 4;\n        piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11);\n        iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11);\n        pOVar10 = pIVar12->got_plt_section_;\n        if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1) {\n          *(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;\n          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                        PTR_s__s_004c1a50 + 0x29cc);\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,\n                      PTR_s__s_004c1a50 + 0x29fc);\n}\n\n" comment comment comment comment comment comment comment (declaration "void __thiscall\ngold::Output_section_incremental_inputs<32,_true>::set_final_data_size\n          (Output_section_incremental_inputs<32,_true> *this)\n\n{\n  undefined *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_true>::set_final_data_size\n          (Output_section_incremental_inputs<32,_true> *this)\n\n{\n  undefined" identifier > : : (function_declarator "set_final_data_size\n          (Output_section_incremental_inputs<32,_true> *this)" identifier (parameter_list "(Output_section_incremental_inputs<32,_true> *this)" ( (parameter_declaration "Output_section_incremental_inputs" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "Output_data_space *pOVar4;" type_identifier (pointer_declarator "*pOVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "pointer ppIVar6;" type_identifier identifier ;) (declaration "Incremental_input_entry *pIVar7;" type_identifier (pointer_declarator "*pIVar7" * identifier) ;) (declaration "Symbol_table *pSVar8;" type_identifier (pointer_declarator "*pSVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "Output_data_space *pOVar10;" type_identifier (pointer_declarator "*pOVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "Incremental_inputs *pIVar12;" type_identifier (pointer_declarator "*pIVar12" * identifier) ;) (declaration "pointer ppIVar13;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_s__s_004c1a50;" (assignment_expression "puVar1 = PTR_s__s_004c1a50" identifier = identifier) ;) (expression_statement "pIVar12 = this->inputs_;" (assignment_expression "pIVar12 = this->inputs_" identifier = (field_expression "this->inputs_" identifier -> field_identifier)) ;) (expression_statement "ppIVar13 = (pIVar12->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start;" (field_expression "ppIVar13 = (pIVar12->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start" (field_expression "ppIVar13 = (pIVar12->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl" (binary_expression "ppIVar13 = (pIVar12->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "ppIVar13 = (pIVar12->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "ppIVar13 = (pIVar12->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std" (assignment_expression "ppIVar13 = (pIVar12->inputs_).\n             super__Vector_base<gold" identifier = (binary_expression "(pIVar12->inputs_).\n             super__Vector_base<gold" (field_expression "(pIVar12->inputs_).\n             super__Vector_base" (parenthesized_expression "(pIVar12->inputs_)" ( (field_expression "pIVar12->inputs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "ppIVar6 = (pIVar12->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n            ._M_impl._M_finish;" (field_expression "ppIVar6 = (pIVar12->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n            ._M_impl._M_finish" (field_expression "ppIVar6 = (pIVar12->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n            ._M_impl" (binary_expression "ppIVar6 = (pIVar12->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "ppIVar6 = (pIVar12->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "ppIVar6 = (pIVar12->inputs_).\n            super__Vector_base<gold::Incremental_input_entry*,_std" (assignment_expression "ppIVar6 = (pIVar12->inputs_).\n            super__Vector_base<gold" identifier = (binary_expression "(pIVar12->inputs_).\n            super__Vector_base<gold" (field_expression "(pIVar12->inputs_).\n            super__Vector_base" (parenthesized_expression "(pIVar12->inputs_)" ( (field_expression "pIVar12->inputs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppIVar6 != ppIVar13) {\n    pIVar7 = *ppIVar13;\n    pIVar7->file_index_ = 0;\n    pIVar7->offset_ = 0x10;\n    uVar2 = (*pIVar7->_vptr_Incremental_input_entry[2])(pIVar7);\n    if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)))();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }" if (parenthesized_expression "(ppIVar6 != ppIVar13)" ( (binary_expression "ppIVar6 != ppIVar13" identifier != identifier) )) (compound_statement "{\n    pIVar7 = *ppIVar13;\n    pIVar7->file_index_ = 0;\n    pIVar7->offset_ = 0x10;\n    uVar2 = (*pIVar7->_vptr_Incremental_input_entry[2])(pIVar7);\n    if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)))();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }" { (expression_statement "pIVar7 = *ppIVar13;" (assignment_expression "pIVar7 = *ppIVar13" identifier = (pointer_expression "*ppIVar13" * identifier)) ;) (expression_statement "pIVar7->file_index_ = 0;" (assignment_expression "pIVar7->file_index_ = 0" (field_expression "pIVar7->file_index_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pIVar7->offset_ = 0x10;" (assignment_expression "pIVar7->offset_ = 0x10" (field_expression "pIVar7->offset_" identifier -> field_identifier) = number_literal) ;) (expression_statement "uVar2 = (*pIVar7->_vptr_Incremental_input_entry[2])(pIVar7);" (assignment_expression "uVar2 = (*pIVar7->_vptr_Incremental_input_entry[2])(pIVar7)" identifier = (call_expression "(*pIVar7->_vptr_Incremental_input_entry[2])(pIVar7)" (parenthesized_expression "(*pIVar7->_vptr_Incremental_input_entry[2])" ( (pointer_expression "*pIVar7->_vptr_Incremental_input_entry[2]" * (subscript_expression "pIVar7->_vptr_Incremental_input_entry[2]" (field_expression "pIVar7->_vptr_Incremental_input_entry" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pIVar7)" ( identifier )))) ;) (if_statement "if (uVar2 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)))();\n      return;\n    }" if (parenthesized_expression "(uVar2 < 6)" ( (binary_expression "uVar2 < 6" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)))();\n      return;\n    }" { comment comment (expression_statement "(*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)))();" (call_expression "(*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)))()" (parenthesized_expression "(*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)))" ( (pointer_expression "*(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174))" * (cast_expression "(code *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174))" ( (binary_expression "&Position_dependent_options::default_options_.relax_.user_set_via_option +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)" (field_expression "&Position_dependent_options::default_options_.relax_.user_set_via_option" (field_expression "&Position_dependent_options::default_options_.relax_" (pointer_expression "&Position_dependent_options" & identifier) (ERROR "::default_options_" : : identifier) . field_identifier) . field_identifier) + (pointer_expression "*(int *)(puVar1 + uVar2 * 4 + 0x1174)" * (cast_expression "(int *)(puVar1 + uVar2 * 4 + 0x1174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + uVar2 * 4 + 0x1174)" ( (binary_expression "puVar1 + uVar2 * 4 + 0x1174" (binary_expression "puVar1 + uVar2 * 4" identifier + (binary_expression "uVar2 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8)" ( (binary_expression "PTR_s__s_004c1a50 + 0xee0" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x27c8" identifier + number_literal) ))) ;) })) (expression_statement "iVar3 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20;" (assignment_expression "iVar3 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20" identifier = (pointer_expression "*(int *)&(this->super_Output_section_data).super_Output_data.field_0x20" * (cast_expression "(int *)&(this->super_Output_section_data).super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.field_0x20" & (field_expression "(this->super_Output_section_data).super_Output_data.field_0x20" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))))) ;) (if_statement "if ((-1 < iVar3 << 1) && (-1 < iVar3 << 3)) {\n    pOVar10 = pIVar12->symtab_section_;\n    pSVar8 = this->symtab_;\n    (this->super_Output_section_data).super_Output_data.field_0x20 =\n         (this->super_Output_section_data).super_Output_data.field_0x20 & 0xbf | 0x40;\n    *(undefined4 *)&(this->super_Output_section_data).super_Output_data.data_size_ = 0;\n    *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) =\n         ((int)ppIVar6 - (int)ppIVar13 >> 2) * 0x18 + 0x10;\n    uVar2 = pSVar8->output_count_;\n    if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20 << 1) {\n      pOVar4 = pIVar12->relocs_section_;\n      uVar9 = pIVar12->reloc_count_;\n      *(undefined4 *)\n       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_ = 0;\n      *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4) = uVar2 << 2;\n      if (-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20 << 1) {\n        *(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_ = 0;\n        *(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4) = uVar9 << 4;\n        piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11);\n        iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11);\n        pOVar10 = pIVar12->got_plt_section_;\n        if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1) {\n          *(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;\n          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                        PTR_s__s_004c1a50 + 0x29cc);\n  }" if (parenthesized_expression "((-1 < iVar3 << 1) && (-1 < iVar3 << 3))" ( (binary_expression "(-1 < iVar3 << 1) && (-1 < iVar3 << 3)" (parenthesized_expression "(-1 < iVar3 << 1)" ( (binary_expression "-1 < iVar3 << 1" number_literal < (binary_expression "iVar3 << 1" identifier << number_literal)) )) && (parenthesized_expression "(-1 < iVar3 << 3)" ( (binary_expression "-1 < iVar3 << 3" number_literal < (binary_expression "iVar3 << 3" identifier << number_literal)) ))) )) (compound_statement "{\n    pOVar10 = pIVar12->symtab_section_;\n    pSVar8 = this->symtab_;\n    (this->super_Output_section_data).super_Output_data.field_0x20 =\n         (this->super_Output_section_data).super_Output_data.field_0x20 & 0xbf | 0x40;\n    *(undefined4 *)&(this->super_Output_section_data).super_Output_data.data_size_ = 0;\n    *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) =\n         ((int)ppIVar6 - (int)ppIVar13 >> 2) * 0x18 + 0x10;\n    uVar2 = pSVar8->output_count_;\n    if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20 << 1) {\n      pOVar4 = pIVar12->relocs_section_;\n      uVar9 = pIVar12->reloc_count_;\n      *(undefined4 *)\n       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_ = 0;\n      *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4) = uVar2 << 2;\n      if (-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20 << 1) {\n        *(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_ = 0;\n        *(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4) = uVar9 << 4;\n        piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11);\n        iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11);\n        pOVar10 = pIVar12->got_plt_section_;\n        if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1) {\n          *(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;\n          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                        PTR_s__s_004c1a50 + 0x29cc);\n  }" { (expression_statement "pOVar10 = pIVar12->symtab_section_;" (assignment_expression "pOVar10 = pIVar12->symtab_section_" identifier = (field_expression "pIVar12->symtab_section_" identifier -> field_identifier)) ;) (expression_statement "pSVar8 = this->symtab_;" (assignment_expression "pSVar8 = this->symtab_" identifier = (field_expression "this->symtab_" identifier -> field_identifier)) ;) (expression_statement "(this->super_Output_section_data).super_Output_data.field_0x20 =\n         (this->super_Output_section_data).super_Output_data.field_0x20 & 0xbf | 0x40;" (assignment_expression "(this->super_Output_section_data).super_Output_data.field_0x20 =\n         (this->super_Output_section_data).super_Output_data.field_0x20 & 0xbf | 0x40" (field_expression "(this->super_Output_section_data).super_Output_data.field_0x20" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(this->super_Output_section_data).super_Output_data.field_0x20 & 0xbf | 0x40" (binary_expression "(this->super_Output_section_data).super_Output_data.field_0x20 & 0xbf" (field_expression "(this->super_Output_section_data).super_Output_data.field_0x20" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) | number_literal)) ;) (expression_statement "*(undefined4 *)&(this->super_Output_section_data).super_Output_data.data_size_ = 0;" (assignment_expression "*(undefined4 *)&(this->super_Output_section_data).super_Output_data.data_size_ = 0" (pointer_expression "*(undefined4 *)&(this->super_Output_section_data).super_Output_data.data_size_" * (cast_expression "(undefined4 *)&(this->super_Output_section_data).super_Output_data.data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.data_size_" & (field_expression "(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) =\n         ((int)ppIVar6 - (int)ppIVar13 >> 2) * 0x18 + 0x10;" (assignment_expression "*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) =\n         ((int)ppIVar6 - (int)ppIVar13 >> 2) * 0x18 + 0x10" (pointer_expression "*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" * (cast_expression "(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4" (cast_expression "(int)&(this->super_Output_section_data).super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.data_size_" & (field_expression "(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) = (binary_expression "((int)ppIVar6 - (int)ppIVar13 >> 2) * 0x18 + 0x10" (binary_expression "((int)ppIVar6 - (int)ppIVar13 >> 2) * 0x18" (parenthesized_expression "((int)ppIVar6 - (int)ppIVar13 >> 2)" ( (binary_expression "(int)ppIVar6 - (int)ppIVar13 >> 2" (binary_expression "(int)ppIVar6 - (int)ppIVar13" (cast_expression "(int)ppIVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppIVar13" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) + number_literal)) ;) (expression_statement "uVar2 = pSVar8->output_count_;" (assignment_expression "uVar2 = pSVar8->output_count_" identifier = (field_expression "pSVar8->output_count_" identifier -> field_identifier)) ;) (if_statement "if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20 << 1) {\n      pOVar4 = pIVar12->relocs_section_;\n      uVar9 = pIVar12->reloc_count_;\n      *(undefined4 *)\n       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_ = 0;\n      *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4) = uVar2 << 2;\n      if (-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20 << 1) {\n        *(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_ = 0;\n        *(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4) = uVar9 << 4;\n        piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11);\n        iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11);\n        pOVar10 = pIVar12->got_plt_section_;\n        if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1) {\n          *(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;\n          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }" if (parenthesized_expression "(-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20 << 1)" ( (binary_expression "-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20 << 1" number_literal < (binary_expression "*(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20 << 1" (pointer_expression "*(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20" * (cast_expression "(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20" & (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.field_0x20" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar10->super_Output_section_data_build)" ( (field_expression "pOVar10->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) << number_literal)) )) (compound_statement "{\n      pOVar4 = pIVar12->relocs_section_;\n      uVar9 = pIVar12->reloc_count_;\n      *(undefined4 *)\n       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_ = 0;\n      *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4) = uVar2 << 2;\n      if (-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20 << 1) {\n        *(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_ = 0;\n        *(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4) = uVar9 << 4;\n        piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11);\n        iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11);\n        pOVar10 = pIVar12->got_plt_section_;\n        if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1) {\n          *(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;\n          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }" { (expression_statement "pOVar4 = pIVar12->relocs_section_;" (assignment_expression "pOVar4 = pIVar12->relocs_section_" identifier = (field_expression "pIVar12->relocs_section_" identifier -> field_identifier)) ;) (expression_statement "uVar9 = pIVar12->reloc_count_;" (assignment_expression "uVar9 = pIVar12->reloc_count_" identifier = (field_expression "pIVar12->reloc_count_" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)\n       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_ = 0;" (assignment_expression "*(undefined4 *)\n       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_ = 0" (pointer_expression "*(undefined4 *)\n       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_" * (cast_expression "(undefined4 *)\n       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_" & (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        data_size_" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar10->super_Output_section_data_build)" ( (field_expression "pOVar10->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4) = uVar2 << 2;" (assignment_expression "*(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4) = uVar2 << 2" (pointer_expression "*(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4)" * (cast_expression "(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_ + 4" (cast_expression "(int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_" & (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar10->super_Output_section_data_build)" ( (field_expression "pOVar10->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = (binary_expression "uVar2 << 2" identifier << number_literal)) ;) (if_statement "if (-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20 << 1) {\n        *(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_ = 0;\n        *(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4) = uVar9 << 4;\n        piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11);\n        iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11);\n        pOVar10 = pIVar12->got_plt_section_;\n        if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1) {\n          *(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;\n          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20 << 1)" ( (binary_expression "-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20 << 1" number_literal < (binary_expression "*(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20 << 1" (pointer_expression "*(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20" * (cast_expression "(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20" & (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.field_0x20" (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data" (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar4->super_Output_section_data_build)" ( (field_expression "pOVar4->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) << number_literal)) )) (compound_statement "{\n        *(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_ = 0;\n        *(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4) = uVar9 << 4;\n        piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11);\n        iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11);\n        pOVar10 = pIVar12->got_plt_section_;\n        if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1) {\n          *(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;\n          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }" { (expression_statement "*(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_ = 0;" (assignment_expression "*(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_ = 0" (pointer_expression "*(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_" * (cast_expression "(undefined4 *)\n         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_" & (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n          data_size_" (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar4->super_Output_section_data_build)" ( (field_expression "pOVar4->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4) = uVar9 << 4;" (assignment_expression "*(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4) = uVar9 << 4" (pointer_expression "*(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4)" * (cast_expression "(uint *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_ + 4" (cast_expression "(int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_" & (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data.data_size_" (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data.\n                        super_Output_data" (field_expression "(pOVar4->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar4->super_Output_section_data_build)" ( (field_expression "pOVar4->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = (binary_expression "uVar9 << 4" identifier << number_literal)) ;) (expression_statement "piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar11 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (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 (piVar11 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);\n        }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);\n        }" { comment (expression_statement "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8);" (call_expression "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                              PTR_s__s_004c1a50 + 0x27b8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x27b8" identifier + number_literal) ))) ;) })) (expression_statement "iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11);" (assignment_expression "iVar3 = (**(code **)(*piVar11 + 0xcc))(piVar11)" identifier = (call_expression "(**(code **)(*piVar11 + 0xcc))(piVar11)" (parenthesized_expression "(**(code **)(*piVar11 + 0xcc))" ( (pointer_expression "**(code **)(*piVar11 + 0xcc)" * (pointer_expression "*(code **)(*piVar11 + 0xcc)" * (cast_expression "(code **)(*piVar11 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 0xcc)" ( (binary_expression "*piVar11 + 0xcc" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) )) (argument_list "(piVar11)" ( identifier )))) ;) (expression_statement "iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11);" (assignment_expression "iVar5 = (**(code **)(*piVar11 + 0xd0))(piVar11)" identifier = (call_expression "(**(code **)(*piVar11 + 0xd0))(piVar11)" (parenthesized_expression "(**(code **)(*piVar11 + 0xd0))" ( (pointer_expression "**(code **)(*piVar11 + 0xd0)" * (pointer_expression "*(code **)(*piVar11 + 0xd0)" * (cast_expression "(code **)(*piVar11 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar11 + 0xd0)" ( (binary_expression "*piVar11 + 0xd0" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) )) (argument_list "(piVar11)" ( identifier )))) ;) (expression_statement "pOVar10 = pIVar12->got_plt_section_;" (assignment_expression "pOVar10 = pIVar12->got_plt_section_" identifier = (field_expression "pIVar12->got_plt_section_" identifier -> field_identifier)) ;) (if_statement "if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1) {\n          *(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;\n          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);\n          return;\n        }" if (parenthesized_expression "(-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1)" ( (binary_expression "-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1" number_literal < (binary_expression "*(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20 << 1" (pointer_expression "*(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20" * (cast_expression "(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20" & (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.field_0x20" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar10->super_Output_section_data_build)" ( (field_expression "pOVar10->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) << number_literal)) )) (compound_statement "{\n          *(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;\n          *(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);\n          return;\n        }" { (expression_statement "*(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0;" (assignment_expression "*(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_ = 0" (pointer_expression "*(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_" * (cast_expression "(undefined4 *)\n           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_" & (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            data_size_" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar10->super_Output_section_data_build)" ( (field_expression "pOVar10->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc);" (assignment_expression "*(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4) =\n               (iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc)" (pointer_expression "*(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4)" * (cast_expression "(uint *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_ + 4" (cast_expression "(int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_" & (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data.data_size_" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data.\n                          super_Output_data" (field_expression "(pOVar10->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar10->super_Output_section_data_build)" ( (field_expression "pOVar10->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = (binary_expression "(iVar3 * 2 + iVar5) * 4 + (iVar3 + 0xbU & 0xfffffffc)" (binary_expression "(iVar3 * 2 + iVar5) * 4" (parenthesized_expression "(iVar3 * 2 + iVar5)" ( (binary_expression "iVar3 * 2 + iVar5" (binary_expression "iVar3 * 2" identifier * number_literal) + identifier) )) * number_literal) + (parenthesized_expression "(iVar3 + 0xbU & 0xfffffffc)" ( (binary_expression "iVar3 + 0xbU & 0xfffffffc" (binary_expression "iVar3 + 0xbU" identifier + number_literal) & number_literal) )))) ;) (return_statement "return;" return ;) })) })) })) comment (expression_statement "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                        PTR_s__s_004c1a50 + 0x29cc);" (call_expression "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                        PTR_s__s_004c1a50 + 0x29cc)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                        PTR_s__s_004c1a50 + 0x29cc)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x29cc" identifier + number_literal) ))) ;) })) comment (expression_statement "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,\n                      PTR_s__s_004c1a50 + 0x29fc);" (call_expression "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,\n                      PTR_s__s_004c1a50 + 0x29fc)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,\n                      PTR_s__s_004c1a50 + 0x29fc)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x29fc" identifier + number_literal) ))) ;) (ERROR "}" }))
(translation_unit "void FUN_0018fb54(int param_1)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  puVar8 = *(undefined4 **)(param_1 + 0x30);\n  piVar9 = (int *)*puVar8;\n  piVar4 = (int *)puVar8[1];\n  if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    \n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }\n                    \n  gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);\n}\n\n" (function_definition "void FUN_0018fb54(int param_1)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  puVar8 = *(undefined4 **)(param_1 + 0x30);\n  piVar9 = (int *)*puVar8;\n  piVar4 = (int *)puVar8[1];\n  if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    \n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }\n                    \n  gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);\n}" primitive_type (function_declarator "FUN_0018fb54(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  puVar8 = *(undefined4 **)(param_1 + 0x30);\n  piVar9 = (int *)*puVar8;\n  piVar4 = (int *)puVar8[1];\n  if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    \n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }\n                    \n  gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (expression_statement "puVar1 = PTR_s__s_004c1a50;" (assignment_expression "puVar1 = PTR_s__s_004c1a50" identifier = identifier) ;) (expression_statement "puVar8 = *(undefined4 **)(param_1 + 0x30);" (assignment_expression "puVar8 = *(undefined4 **)(param_1 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x30)" * (cast_expression "(undefined4 **)(param_1 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "piVar9 = (int *)*puVar8;" (assignment_expression "piVar9 = (int *)*puVar8" identifier = (cast_expression "(int *)*puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "piVar4 = (int *)puVar8[1];" (assignment_expression "piVar4 = (int *)puVar8[1]" identifier = (cast_expression "(int *)puVar8[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ;) (if_statement "if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }" if (parenthesized_expression "(piVar4 != piVar9)" ( (binary_expression "piVar4 != piVar9" identifier != identifier) )) (compound_statement "{\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }" { (expression_statement "piVar9 = (int *)*piVar9;" (assignment_expression "piVar9 = (int *)*piVar9" identifier = (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0x10;" (assignment_expression "piVar9[3] = 0x10" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = (**(code **)(*piVar9 + 8))(piVar9);" (assignment_expression "uVar2 = (**(code **)(*piVar9 + 8))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 8))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 8))" ( (pointer_expression "**(code **)(*piVar9 + 8)" * (pointer_expression "*(code **)(*piVar9 + 8)" * (cast_expression "(code **)(*piVar9 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 8)" ( (binary_expression "*piVar9 + 8" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (if_statement "if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }" if (parenthesized_expression "(uVar2 < 6)" ( (binary_expression "uVar2 < 6" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }" { (expression_statement "(*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();" (call_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))()" (parenthesized_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))" ( (pointer_expression "*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210)" * (cast_expression "(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210)" ( (ERROR "gold::Position_dependent_options::" identifier : : identifier : :) (binary_expression "default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210" (binary_expression "default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)" identifier + (pointer_expression "*(int *)(puVar1 + uVar2 * 4 + 0x1174)" * (cast_expression "(int *)(puVar1 + uVar2 * 4 + 0x1174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + uVar2 * 4 + 0x1174)" ( (binary_expression "puVar1 + uVar2 * 4 + 0x1174" (binary_expression "puVar1 + uVar2 * 4" identifier + (binary_expression "uVar2 * 4" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8)" ( (binary_expression "PTR_s__s_004c1a50 + 0xee0" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x27c8" identifier + number_literal) ))) ;)) })) (if_statement "if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    \n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }" if (parenthesized_expression "((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3))" ( (binary_expression "(-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)" (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal)) )) && (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 3)" ( (binary_expression "-1 < *(int *)(param_1 + 0x20) << 3" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 3" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    \n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }" { (expression_statement "iVar6 = puVar8[0xe];" (assignment_expression "iVar6 = puVar8[0xe]" identifier = (subscript_expression "puVar8[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;" (assignment_expression "*(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_1 + 0x20) & 0xbf | 0x40" (binary_expression "*(byte *)(param_1 + 0x20) & 0xbf" (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;" (assignment_expression "*(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10" (binary_expression "((int)piVar4 - (int)piVar9 >> 2) * 0x18" (parenthesized_expression "((int)piVar4 - (int)piVar9 >> 2)" ( (binary_expression "(int)piVar4 - (int)piVar9 >> 2" (binary_expression "(int)piVar4 - (int)piVar9" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) + number_literal)) ;) (expression_statement "iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0x10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0x10" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }" if (parenthesized_expression "(-1 < *(int *)(iVar6 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar6 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar6 + 0x20) << 1" (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }" { (expression_statement "iVar3 = puVar8[0xf];" (assignment_expression "iVar3 = puVar8[0xf]" identifier = (subscript_expression "puVar8[0xf]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = puVar8[0x11];" (assignment_expression "iVar5 = puVar8[0x11]" identifier = (subscript_expression "puVar8[0x11]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x10)" * (cast_expression "(undefined4 *)(iVar6 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar6 + 0x14) = iVar7 << 2;" (assignment_expression "*(int *)(iVar6 + 0x14) = iVar7 << 2" (pointer_expression "*(int *)(iVar6 + 0x14)" * (cast_expression "(int *)(iVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) = (binary_expression "iVar7 << 2" identifier << number_literal)) ;) (if_statement "if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(iVar3 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar3 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar3 + 0x20) << 1" (pointer_expression "*(int *)(iVar3 + 0x20)" * (cast_expression "(int *)(iVar3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }" { (expression_statement "*(undefined4 *)(iVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x10)" * (cast_expression "(undefined4 *)(iVar3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar3 + 0x14) = iVar5 << 4;" (assignment_expression "*(int *)(iVar3 + 0x14) = iVar5 << 4" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = (binary_expression "iVar5 << 4" identifier << number_literal)) ;) (expression_statement "piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (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 (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }" { (labeled_statement "gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);" (call_expression "do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x27b8" identifier + number_literal) ))) ;)) })) (expression_statement "iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);" (assignment_expression "iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4)" identifier = (call_expression "(**(code **)(*piVar4 + 0xcc))(piVar4)" (parenthesized_expression "(**(code **)(*piVar4 + 0xcc))" ( (pointer_expression "**(code **)(*piVar4 + 0xcc)" * (pointer_expression "*(code **)(*piVar4 + 0xcc)" * (cast_expression "(code **)(*piVar4 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar4 + 0xcc)" ( (binary_expression "*piVar4 + 0xcc" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) )) (argument_list "(piVar4)" ( identifier )))) ;) (expression_statement "iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);" (assignment_expression "iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4)" identifier = (call_expression "(**(code **)(*piVar4 + 0xd0))(piVar4)" (parenthesized_expression "(**(code **)(*piVar4 + 0xd0))" ( (pointer_expression "**(code **)(*piVar4 + 0xd0)" * (pointer_expression "*(code **)(*piVar4 + 0xd0)" * (cast_expression "(code **)(*piVar4 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar4 + 0xd0)" ( (binary_expression "*piVar4 + 0xd0" (pointer_expression "*piVar4" * identifier) + number_literal) ))))) )) (argument_list "(piVar4)" ( identifier )))) ;) (expression_statement "iVar3 = puVar8[0x10];" (assignment_expression "iVar3 = puVar8[0x10]" identifier = (subscript_expression "puVar8[0x10]" identifier [ number_literal ])) ;) (if_statement "if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar3 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar3 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar3 + 0x20) << 1" (pointer_expression "*(int *)(iVar3 + 0x20)" * (cast_expression "(int *)(iVar3 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x20)" ( (binary_expression "iVar3 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }" { (expression_statement "*(undefined4 *)(iVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x10)" * (cast_expression "(undefined4 *)(iVar3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);" (assignment_expression "*(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc)" (pointer_expression "*(uint *)(iVar3 + 0x14)" * (cast_expression "(uint *)(iVar3 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = (binary_expression "(iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc)" (binary_expression "(iVar6 * 2 + iVar7) * 4" (parenthesized_expression "(iVar6 * 2 + iVar7)" ( (binary_expression "iVar6 * 2 + iVar7" (binary_expression "iVar6 * 2" identifier * number_literal) + identifier) )) * number_literal) + (parenthesized_expression "(iVar6 + 0xbU & 0xfffffffc)" ( (binary_expression "iVar6 + 0xbU & 0xfffffffc" (binary_expression "iVar6 + 0xbU" identifier + number_literal) & number_literal) )))) ;) (return_statement "return;" return ;) })) })) })) (labeled_statement "gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );" (call_expression "do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              )" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              )" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x29cc" identifier + number_literal) ))) ;)) })) (labeled_statement "gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);" (call_expression "do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x29fc" identifier + number_literal) ))) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression 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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( 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 *)) ) (parenthesized_expression ( (ERROR IDENT : : IDENT : :) (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) + LIT) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) && (parenthesized_expression ( (binary_expression LIT < (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (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 *)) ) (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 (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT) + 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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 LIT < (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 *)) ) (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)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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 *)) ) (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 (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + IDENT) )) * LIT) + (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )))) ;) (return_statement return ;) })) })) })) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) })) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) })))
(function_definition "void FUN_0018fb54(int param_1)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  puVar8 = *(undefined4 **)(param_1 + 0x30);\n  piVar9 = (int *)*puVar8;\n  piVar4 = (int *)puVar8[1];\n  if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    \n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }\n                    \n  gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);\n}" (primitive_type "void") (function_declarator "FUN_0018fb54(int param_1)" (identifier "FUN_0018fb54") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  puVar8 = *(undefined4 **)(param_1 + 0x30);\n  piVar9 = (int *)*puVar8;\n  piVar4 = (int *)puVar8[1];\n  if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    \n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }\n                    \n  gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (expression_statement "puVar1 = PTR_s__s_004c1a50;" (assignment_expression "puVar1 = PTR_s__s_004c1a50" (identifier "puVar1") (= "=") (identifier "PTR_s__s_004c1a50")) (; ";")) (expression_statement "puVar8 = *(undefined4 **)(param_1 + 0x30);" (assignment_expression "puVar8 = *(undefined4 **)(param_1 + 0x30)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x30)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "piVar9 = (int *)*puVar8;" (assignment_expression "piVar9 = (int *)*puVar8" (identifier "piVar9") (= "=") (cast_expression "(int *)*puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (expression_statement "piVar4 = (int *)puVar8[1];" (assignment_expression "piVar4 = (int *)puVar8[1]" (identifier "piVar4") (= "=") (cast_expression "(int *)puVar8[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (piVar4 != piVar9) {\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }" (if "if") (parenthesized_expression "(piVar4 != piVar9)" (( "(") (binary_expression "piVar4 != piVar9" (identifier "piVar4") (!= "!=") (identifier "piVar9")) () ")")) (compound_statement "{\n    piVar9 = (int *)*piVar9;\n    piVar9[2] = 0;\n    piVar9[3] = 0x10;\n    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);\n    if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);\n  }" ({ "{") (expression_statement "piVar9 = (int *)*piVar9;" (assignment_expression "piVar9 = (int *)*piVar9" (identifier "piVar9") (= "=") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[3] = 0x10;" (assignment_expression "piVar9[3] = 0x10" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "uVar2 = (**(code **)(*piVar9 + 8))(piVar9);" (assignment_expression "uVar2 = (**(code **)(*piVar9 + 8))(piVar9)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(*piVar9 + 8))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 8))" (( "(") (pointer_expression "**(code **)(*piVar9 + 8)" (* "*") (pointer_expression "*(code **)(*piVar9 + 8)" (* "*") (cast_expression "(code **)(*piVar9 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + 8)" (( "(") (binary_expression "*piVar9 + 8" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")")))) (; ";")) (if_statement "if (uVar2 < 6) {\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }" (if "if") (parenthesized_expression "(uVar2 < 6)" (( "(") (binary_expression "uVar2 < 6" (identifier "uVar2") (< "<") (number_literal "6")) () ")")) (compound_statement "{\n                    \n                    \n      (*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();\n      return;\n    }" ({ "{") (expression_statement "(*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();" (call_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))()" (parenthesized_expression "(*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))" (( "(") (pointer_expression "*(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210)" (* "*") (cast_expression "(code *)(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(gold::Position_dependent_options::default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210)" (( "(") (ERROR "gold::Position_dependent_options::" (identifier "gold") (: ":") (: ":") (identifier "Position_dependent_options") (: ":") (: ":")) (binary_expression "default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210" (binary_expression "default_options_ +\n                *(int *)(puVar1 + uVar2 * 4 + 0x1174)" (identifier "default_options_") (+ "+") (pointer_expression "*(int *)(puVar1 + uVar2 * 4 + 0x1174)" (* "*") (cast_expression "(int *)(puVar1 + uVar2 * 4 + 0x1174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + uVar2 * 4 + 0x1174)" (( "(") (binary_expression "puVar1 + uVar2 * 4 + 0x1174" (binary_expression "puVar1 + uVar2 * 4" (identifier "puVar1") (+ "+") (binary_expression "uVar2 * 4" (identifier "uVar2") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x1174")) () ")"))))) (+ "+") (number_literal "0x3210")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8)" (identifier "do_gold_unreachable") (argument_list "(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0xee0" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0xee0")) (, ",") (number_literal "0x553") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x27c8" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x27c8")) () ")"))) (; ";"))) (} "}"))) (if_statement "if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    \n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }" (if "if") (parenthesized_expression "((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3))" (( "(") (binary_expression "(-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)" (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (&& "&&") (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 3)" (( "(") (binary_expression "-1 < *(int *)(param_1 + 0x20) << 3" (number_literal "-1") (< "<") (binary_expression "*(int *)(param_1 + 0x20) << 3" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "3"))) () ")"))) () ")")) (compound_statement "{\n    iVar6 = puVar8[0xe];\n    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;\n    *(undefined4 *)(param_1 + 0x10) = 0;\n    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;\n    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);\n    if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }\n                    \n    gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );\n  }" ({ "{") (expression_statement "iVar6 = puVar8[0xe];" (assignment_expression "iVar6 = puVar8[0xe]" (identifier "iVar6") (= "=") (subscript_expression "puVar8[0xe]" (identifier "puVar8") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "*(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;" (assignment_expression "*(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40" (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(byte *)(param_1 + 0x20) & 0xbf | 0x40" (binary_expression "*(byte *)(param_1 + 0x20) & 0xbf" (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "0xbf")) (| "|") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;" (assignment_expression "*(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10" (binary_expression "((int)piVar4 - (int)piVar9 >> 2) * 0x18" (parenthesized_expression "((int)piVar4 - (int)piVar9 >> 2)" (( "(") (binary_expression "(int)piVar4 - (int)piVar9 >> 2" (binary_expression "(int)piVar4 - (int)piVar9" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (- "-") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "0x18")) (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);" (assignment_expression "iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0x10)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0x10)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 0x10" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (-1 < *(int *)(iVar6 + 0x20) << 1) {\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar6 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(iVar6 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar6 + 0x20) << 1" (pointer_expression "*(int *)(iVar6 + 0x20)" (* "*") (cast_expression "(int *)(iVar6 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\n      iVar3 = puVar8[0xf];\n      iVar5 = puVar8[0x11];\n      *(undefined4 *)(iVar6 + 0x10) = 0;\n      *(int *)(iVar6 + 0x14) = iVar7 << 2;\n      if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }\n    }" ({ "{") (expression_statement "iVar3 = puVar8[0xf];" (assignment_expression "iVar3 = puVar8[0xf]" (identifier "iVar3") (= "=") (subscript_expression "puVar8[0xf]" (identifier "puVar8") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "iVar5 = puVar8[0x11];" (assignment_expression "iVar5 = puVar8[0x11]" (identifier "iVar5") (= "=") (subscript_expression "puVar8[0x11]" (identifier "puVar8") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10)" (( "(") (binary_expression "iVar6 + 0x10" (identifier "iVar6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(iVar6 + 0x14) = iVar7 << 2;" (assignment_expression "*(int *)(iVar6 + 0x14) = iVar7 << 2" (pointer_expression "*(int *)(iVar6 + 0x14)" (* "*") (cast_expression "(int *)(iVar6 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "iVar7 << 2" (identifier "iVar7") (<< "<<") (number_literal "2"))) (; ";")) (if_statement "if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar3 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(iVar3 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar3 + 0x20) << 1" (pointer_expression "*(int *)(iVar3 + 0x20)" (* "*") (cast_expression "(int *)(iVar3 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x20)" (( "(") (binary_expression "iVar3 + 0x20" (identifier "iVar3") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\n        *(undefined4 *)(iVar3 + 0x10) = 0;\n        *(int *)(iVar3 + 0x14) = iVar5 << 4;\n        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n        if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }\n        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);\n        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);\n        iVar3 = puVar8[0x10];\n        if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }\n      }" ({ "{") (expression_statement "*(undefined4 *)(iVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x10)" (( "(") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(iVar3 + 0x14) = iVar5 << 4;" (assignment_expression "*(int *)(iVar3 + 0x14) = iVar5 << 4" (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "iVar5 << 4" (identifier "iVar5") (<< "<<") (number_literal "4"))) (; ";")) (expression_statement "piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" (identifier "piVar4") (= "=") (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" (* "*") (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (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 "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar4 == (int *)0x0) {\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }" (if "if") (parenthesized_expression "(piVar4 == (int *)0x0)" (( "(") (binary_expression "piVar4 == (int *)0x0" (identifier "piVar4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n          gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);\n        }" ({ "{") (labeled_statement "gold::do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8);" (call_expression "do_gold_unreachable\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8)" (identifier "do_gold_unreachable") (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,\n                     PTR_s__s_004c1a50 + 0x27b8)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x73") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x27b8" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x27b8")) () ")"))) (; ";"))) (} "}"))) (expression_statement "iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);" (assignment_expression "iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(*piVar4 + 0xcc))(piVar4)" (parenthesized_expression "(**(code **)(*piVar4 + 0xcc))" (( "(") (pointer_expression "**(code **)(*piVar4 + 0xcc)" (* "*") (pointer_expression "*(code **)(*piVar4 + 0xcc)" (* "*") (cast_expression "(code **)(*piVar4 + 0xcc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar4 + 0xcc)" (( "(") (binary_expression "*piVar4 + 0xcc" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (+ "+") (number_literal "0xcc")) () ")"))))) () ")")) (argument_list "(piVar4)" (( "(") (identifier "piVar4") () ")")))) (; ";")) (expression_statement "iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);" (assignment_expression "iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(*piVar4 + 0xd0))(piVar4)" (parenthesized_expression "(**(code **)(*piVar4 + 0xd0))" (( "(") (pointer_expression "**(code **)(*piVar4 + 0xd0)" (* "*") (pointer_expression "*(code **)(*piVar4 + 0xd0)" (* "*") (cast_expression "(code **)(*piVar4 + 0xd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar4 + 0xd0)" (( "(") (binary_expression "*piVar4 + 0xd0" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (+ "+") (number_literal "0xd0")) () ")"))))) () ")")) (argument_list "(piVar4)" (( "(") (identifier "piVar4") () ")")))) (; ";")) (expression_statement "iVar3 = puVar8[0x10];" (assignment_expression "iVar3 = puVar8[0x10]" (identifier "iVar3") (= "=") (subscript_expression "puVar8[0x10]" (identifier "puVar8") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (if_statement "if (-1 < *(int *)(iVar3 + 0x20) << 1) {\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar3 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(iVar3 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar3 + 0x20) << 1" (pointer_expression "*(int *)(iVar3 + 0x20)" (* "*") (cast_expression "(int *)(iVar3 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x20)" (( "(") (binary_expression "iVar3 + 0x20" (identifier "iVar3") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\n          *(undefined4 *)(iVar3 + 0x10) = 0;\n          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);\n          return;\n        }" ({ "{") (expression_statement "*(undefined4 *)(iVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x10)" (( "(") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);" (assignment_expression "*(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc)" (pointer_expression "*(uint *)(iVar3 + 0x14)" (* "*") (cast_expression "(uint *)(iVar3 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "(iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc)" (binary_expression "(iVar6 * 2 + iVar7) * 4" (parenthesized_expression "(iVar6 * 2 + iVar7)" (( "(") (binary_expression "iVar6 * 2 + iVar7" (binary_expression "iVar6 * 2" (identifier "iVar6") (* "*") (number_literal "2")) (+ "+") (identifier "iVar7")) () ")")) (* "*") (number_literal "4")) (+ "+") (parenthesized_expression "(iVar6 + 0xbU & 0xfffffffc)" (( "(") (binary_expression "iVar6 + 0xbU & 0xfffffffc" (binary_expression "iVar6 + 0xbU" (identifier "iVar6") (+ "+") (number_literal "0xbU")) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "gold::do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              );" (call_expression "do_gold_unreachable\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              )" (identifier "do_gold_unreachable") (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc\n              )" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0x231") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x29cc" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x29cc")) () ")"))) (; ";"))) (} "}"))) (labeled_statement "gold::do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);" (call_expression "do_gold_unreachable\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc)" (identifier "do_gold_unreachable") (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0x218") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x29fc" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x29fc")) () ")"))) (; ";"))) (} "}")))

/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* 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 prototype: void set_final_data_size(Output_section_incremental_inputs<32,_true> *
   this) */

void __thiscall
var_1::Output_section_incremental_inputs<32,_true>::set_final_data_size
          (Output_section_incremental_inputs<32,_true> *this)

{
  undefined *var_7;
  type_1 var_6;
  int var_10;
  type_2 *pOVar4;
  int var_14;
  type_3 var_4;
  type_4 *pIVar7;
  type_5 *pSVar8;
  type_1 var_11;
  type_2 *pOVar10;
  int *var_12;
  type_6 *pIVar12;
  type_3 var_5;
  
  var_7 = var_9;
  pIVar12 = this->inputs_;
  var_5 = (pIVar12->inputs_).
             super__Vector_base<var_1::type_4*,var_2::allocator<var_1::type_4*>var_3>
             ._M_impl._M_start;
  var_4 = (pIVar12->inputs_).
            super__Vector_base<var_1::type_4*,var_2::allocator<var_1::type_4*>var_3>
            ._M_impl._M_finish;
  if (var_4 != var_5) {
    pIVar7 = *var_5;
    pIVar7->file_index_ = 0;
    pIVar7->offset_ = 0x10;
    var_6 = (*pIVar7->_vptr_Incremental_input_entry[2])(pIVar7);
    if (var_6 < 6) {
                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */
                    /* WARNING: Treating indirect jump as call */
      (*(type_7 *)(&Position_dependent_options::default_options_.relax_.user_set_via_option +
                *(int *)(var_7 + var_6 * 4 + 0x1174)))();
      return;
    }
                    /* WARNING: Subroutine does not return */
    var_8(var_9 + 0xee0,0x553,var_9 + 0x27c8);
  }
  var_10 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20;
  if ((-1 < var_10 << 1) && (-1 < var_10 << 3)) {
    pOVar10 = pIVar12->symtab_section_;
    pSVar8 = this->symtab_;
    (this->super_Output_section_data).super_Output_data.field_0x20 =
         (this->super_Output_section_data).super_Output_data.field_0x20 & 0xbf | 0x40;
    *(type_8 *)&(this->super_Output_section_data).super_Output_data.data_size_ = 0;
    *(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) =
         ((int)var_4 - (int)var_5 >> 2) * 0x18 + 0x10;
    var_6 = pSVar8->output_count_;
    if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.field_0x20 << 1) {
      pOVar4 = pIVar12->relocs_section_;
      var_11 = pIVar12->reloc_count_;
      *(type_8 *)
       &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.
        data_size_ = 0;
      *(type_1 *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.data_size_ + 4) = var_6 << 2;
      if (-1 < *(int *)&(pOVar4->super_Output_section_data_build).super_Output_section_data.
                        super_Output_data.field_0x20 << 1) {
        *(type_8 *)
         &(pOVar4->super_Output_section_data_build).super_Output_section_data.super_Output_data.
          data_size_ = 0;
        *(type_1 *)((int)&(pOVar4->super_Output_section_data_build).super_Output_section_data.
                        super_Output_data.data_size_ + 4) = var_11 << 4;
        var_12 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
        if (var_12 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_8(var_13 + -0x9b8,0x73,
                              var_9 + 0x27b8);
        }
        var_10 = (**(type_7 **)(*var_12 + 0xcc))(var_12);
        var_14 = (**(type_7 **)(*var_12 + 0xd0))(var_12);
        pOVar10 = pIVar12->got_plt_section_;
        if (-1 < *(int *)&(pOVar10->super_Output_section_data_build).super_Output_section_data.
                          super_Output_data.field_0x20 << 1) {
          *(type_8 *)
           &(pOVar10->super_Output_section_data_build).super_Output_section_data.super_Output_data.
            data_size_ = 0;
          *(type_1 *)((int)&(pOVar10->super_Output_section_data_build).super_Output_section_data.
                          super_Output_data.data_size_ + 4) =
               (var_10 * 2 + var_14) * 4 + (var_10 + 0xbU & 0xfffffffc);
          return;
        }
      }
    }
                    /* WARNING: Subroutine does not return */
    var_8(var_13 + 0x3574,0x231,
                        var_9 + 0x29cc);
  }
                    /* WARNING: Subroutine does not return */
  var_8(var_13 + 0x3574,0x218,
                      var_9 + 0x29fc);
}


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

void MASKED(int param_1)

{
  undefined *puVar1;
  uint uVar2;
  int iVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  undefined4 *puVar8;
  int *piVar9;
  
  puVar1 = PTR_s__s_004c1a50;
  puVar8 = *(undefined4 **)(param_1 + 0x30);
  piVar9 = (int *)*puVar8;
  piVar4 = (int *)puVar8[1];
  if (piVar4 != piVar9) {
    piVar9 = (int *)*piVar9;
    piVar9[2] = 0;
    piVar9[3] = 0x10;
    uVar2 = (**(code **)(*piVar9 + 8))(piVar9);
    if (uVar2 < 6) {
                    /* WARNING: Could not emulate address calculation at 0x0018fc14 */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)(gold::Position_dependent_options::default_options_ +
                *(int *)(puVar1 + uVar2 * 4 + 0x1174) + 0x3210))();
      return;
    }
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,0x553,PTR_s__s_004c1a50 + 0x27c8);
  }
  if ((-1 < *(int *)(param_1 + 0x20) << 1) && (-1 < *(int *)(param_1 + 0x20) << 3)) {
    iVar6 = puVar8[0xe];
    *(byte *)(param_1 + 0x20) = *(byte *)(param_1 + 0x20) & 0xbf | 0x40;
    *(undefined4 *)(param_1 + 0x10) = 0;
    *(int *)(param_1 + 0x14) = ((int)piVar4 - (int)piVar9 >> 2) * 0x18 + 0x10;
    iVar7 = *(int *)(*(int *)(param_1 + 0x34) + 0x10);
    if (-1 < *(int *)(iVar6 + 0x20) << 1) {
      iVar3 = puVar8[0xf];
      iVar5 = puVar8[0x11];
      *(undefined4 *)(iVar6 + 0x10) = 0;
      *(int *)(iVar6 + 0x14) = iVar7 << 2;
      if (-1 < *(int *)(iVar3 + 0x20) << 1) {
        *(undefined4 *)(iVar3 + 0x10) = 0;
        *(int *)(iVar3 + 0x14) = iVar5 << 4;
        piVar4 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
        if (piVar4 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x73,
                     PTR_s__s_004c1a50 + 0x27b8);
        }
        iVar6 = (**(code **)(*piVar4 + 0xcc))(piVar4);
        iVar7 = (**(code **)(*piVar4 + 0xd0))(piVar4);
        iVar3 = puVar8[0x10];
        if (-1 < *(int *)(iVar3 + 0x20) << 1) {
          *(undefined4 *)(iVar3 + 0x10) = 0;
          *(uint *)(iVar3 + 0x14) = (iVar6 * 2 + iVar7) * 4 + (iVar6 + 0xbU & 0xfffffffc);
          return;
        }
      }
    }
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable
              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,PTR_s__s_004c1a50 + 0x29cc
              );
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x218,PTR_s__s_004c1a50 + 0x29fc);
}

