
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void emit(Copy_relocs<9,_64,_false> * this,
   Output_data_reloc<9,_true,_64,_false> * reloc_section) */

void __thiscall
gold::Copy_relocs<9,_64,_false>::emit
          (Copy_relocs<9,_64,_false> *this,Output_data_reloc<9,_true,_64,_false> *reloc_section)

{
  int iVar1;
  pointer pOVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  pointer pCVar5;
  uint uVar6;
  uint uVar7;
  undefined4 uVar8;
  undefined4 *puVar9;
  undefined4 *puVar10;
  undefined4 *puVar11;
  undefined4 *puVar12;
  undefined4 uVar13;
  Symbol *pSVar14;
  iterator __position;
  undefined4 *puVar15;
  undefined4 *puVar16;
  undefined4 *puVar17;
  undefined4 *puVar18;
  pointer pCVar19;
  undefined4 *puVar20;
  undefined4 *puVar21;
  undefined4 *puVar22;
  _func_int_varargs *p_Var23;
  undefined *puVar24;
  Output_section *pOVar25;
  anon_union_4_4_c82d8563_for_u1_ local_48;
  Sized_relobj<64,_false> *local_44;
  undefined4 local_40;
  undefined4 local_3c;
  uint local_38;
  int local_34;
  uint local_30;
  undefined4 local_2c;
  
  puVar24 = PTR_add_global_generic_004c3558;
  pCVar5 = (this->entries_).
           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>
           ._M_impl._M_finish;
  pCVar19 = (this->entries_).
            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>
            ._M_impl._M_start;
  if (pCVar19 != pCVar5) {
    do {
      pSVar14 = pCVar19->sym_;
      if (((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0) &&
         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].
               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.
               _M_end_of_storage < 0)) {
        pOVar25 = pCVar19->output_section_;
        p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).
                  super_Output_data_reloc_generic.super_Output_section_data_build.
                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];
        iVar1 = (int)pCVar19->addend_;
        if (p_Var23 == (_func_int_varargs *)puVar24) {
          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {
            (*(code *)PTR_Output_reloc_004c1e90)
                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);
            __position._M_current =
                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.
                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>
                 ._M_impl._M_finish;
            if (__position._M_current ==
                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.
                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>
                ._M_impl._M_end_of_storage) {
              std::
              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>
              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>
                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,
                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);
              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.
                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>
                       ._M_impl._M_finish;
            }
            else {
              pOVar2 = __position._M_current + 1;
              ((__position._M_current)->u2_).relobj = local_44;
              *(undefined4 *)&(__position._M_current)->address_ = local_40;
              (__position._M_current)->u1_ = local_48;
              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;
              (__position._M_current)->local_sym_index_ = local_38;
              *(int *)&(__position._M_current)->field_0x14 = local_34;
              (__position._M_current)->shndx_ = local_30;
              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;
              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.
              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>
              ._M_impl._M_finish = pOVar2;
            }
            iVar1 = (int)pOVar2 -
                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.
                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>
                         ._M_impl._M_start >> 5;
            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).
                              super_Output_data_reloc_generic.super_Output_section_data_build.
                              super_Output_section_data.super_Output_data.field_0x20 << 1) {
              *(undefined4 *)
               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).
                super_Output_data_reloc_generic.super_Output_section_data_build.
                super_Output_section_data.super_Output_data.data_size_ = 0;
              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).
                             super_Output_data_reloc_generic.super_Output_section_data_build.
                             super_Output_section_data.super_Output_data.data_size_ + 4) =
                   iVar1 << 4;
              (pOVar25->super_Output_data).field_0x20 =
                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;
              if (local_34 << 0x1c < 0) {
                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).
                super_Output_data_reloc_generic.relative_reloc_count_ =
                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).
                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;
              }
              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {
                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;
                if (uVar6 == 0) {
                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;
                }
                pCVar5 = (this->entries_).
                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>
                         ._M_impl._M_finish;
                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;
                goto LAB_0015ab48;
              }
              goto LAB_0015abbc;
            }
            (*(code *)PTR_do_gold_unreachable_004c1a30)
                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,
                       PTR_s__s_004c1a50 + -0xfb0);
          }
          puVar15 = (undefined4 *)&DAT_000006d5;
          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);
          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);
          puVar24 = PTR_do_gold_unreachable_004c1a30;
          (*(code *)PTR_do_gold_unreachable_004c1a30)();
          puVar21 = (undefined4 *)*puVar12;
          puVar20 = (undefined4 *)puVar12[1];
          iVar1 = (int)puVar20 - (int)puVar21 >> 3;
          uVar6 = iVar1 * -0x33333333;
          if (uVar6 == 0) {
            uVar7 = 1;
LAB_0015ae8c:
            iVar1 = uVar7 * 0x28;
          }
          else {
            uVar7 = iVar1 * -0x66666666;
            if (uVar7 < uVar6) {
              iVar1 = -0x10;
            }
            else {
              iVar1 = -0x10;
              if (uVar7 < 0x6666667) {
                puVar22 = (undefined4 *)&DAT_00000028;
                if (uVar7 == 0) {
                  iVar1 = 0;
                  puVar3 = (undefined4 *)0x0;
                  goto LAB_0015acb4;
                }
                goto LAB_0015ae8c;
              }
            }
          }
          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);
          iVar1 = (int)puVar3 + iVar1;
          puVar22 = puVar3 + 10;
LAB_0015acb4:
          puVar18 = puVar16;
          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));
          do {
            puVar10 = puVar11;
            puVar9 = puVar18;
            puVar18 = puVar9 + 4;
            uVar13 = puVar9[1];
            uVar8 = puVar9[2];
            uVar4 = puVar9[3];
            *puVar10 = *puVar9;
            puVar10[1] = uVar13;
            puVar10[2] = uVar8;
            puVar10[3] = uVar4;
            puVar11 = puVar10 + 4;
          } while (puVar18 != puVar16 + 8);
          uVar4 = puVar9[5];
          puVar10[4] = *puVar18;
          puVar10[5] = uVar4;
          puVar16 = puVar21;
          puVar18 = puVar3;
          if (puVar21 != puVar15) {
            do {
              puVar22 = puVar16;
              puVar11 = puVar18;
              do {
                puVar10 = puVar11;
                puVar9 = puVar22;
                puVar22 = puVar9 + 4;
                uVar13 = puVar9[1];
                uVar8 = puVar9[2];
                uVar4 = puVar9[3];
                *puVar10 = *puVar9;
                puVar10[1] = uVar13;
                puVar10[2] = uVar8;
                puVar10[3] = uVar4;
                puVar11 = puVar10 + 4;
              } while (puVar22 != puVar16 + 8);
              puVar16 = puVar16 + 10;
              uVar4 = puVar9[5];
              puVar10[4] = *puVar22;
              puVar10[5] = uVar4;
              puVar18 = puVar18 + 10;
            } while (puVar15 != puVar16);
            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &
                                0x1fffffff) + 2) * 10;
          }
          puVar16 = puVar15;
          puVar18 = puVar22;
          if (puVar20 != puVar15) {
            do {
              puVar11 = puVar16;
              puVar9 = puVar18;
              do {
                puVar17 = puVar9;
                puVar10 = puVar11;
                puVar11 = puVar10 + 4;
                uVar13 = puVar10[1];
                uVar8 = puVar10[2];
                uVar4 = puVar10[3];
                *puVar17 = *puVar10;
                puVar17[1] = uVar13;
                puVar17[2] = uVar8;
                puVar17[3] = uVar4;
                puVar9 = puVar17 + 4;
              } while (puVar11 != puVar16 + 8);
              puVar16 = puVar16 + 10;
              uVar4 = puVar10[5];
              puVar17[4] = *puVar11;
              puVar17[5] = uVar4;
              puVar18 = puVar18 + 10;
            } while (puVar20 != puVar16);
            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &
                                 0x1fffffff) + 1) * 10;
          }
          if (puVar21 != (undefined4 *)0x0) {
            (**(code **)(puVar24 + 0x3666e4))(puVar21);
          }
          *puVar12 = puVar3;
          puVar12[1] = puVar22;
          puVar12[2] = iVar1;
          return;
        }
        (*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,
                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,
                   *(int *)&pCVar19->addend_,iVar1);
LAB_0015abbc:
        pCVar5 = (this->entries_).
                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>
                 ._M_impl._M_finish;
      }
LAB_0015ab48:
      pCVar19 = pCVar19 + 1;
    } while (pCVar5 != pCVar19);
    pCVar19 = (this->entries_).
              super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>
              ._M_impl._M_start;
    if (pCVar5 != pCVar19) {
      (this->entries_).
      super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>
      ._M_impl._M_finish = pCVar19;
    }
  }
  return;
}



void FUN_0015a990(int *param_1,int *param_2)

{
  undefined *puVar1;
  undefined4 *puVar2;
  int *piVar3;
  int iVar4;
  undefined4 *puVar5;
  int *piVar6;
  int iVar7;
  undefined4 local_48;
  int local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  int local_34;
  int local_30;
  undefined4 local_2c;
  
  puVar1 = PTR_add_global_generic_004c3558;
  piVar3 = (int *)param_1[1];
  piVar6 = (int *)*param_1;
  if (piVar6 != piVar3) {
    do {
      iVar4 = *piVar6;
      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {
        iVar7 = piVar6[4];
        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {
          if (piVar6[8] != 0 || piVar6[9] != 0) {
            (*(code *)PTR_do_gold_unreachable_004c1a30)
                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,
                       PTR_s__s_004c1a50 + -0x1104);
            return;
          }
          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);
          puVar5 = (undefined4 *)param_2[0xf];
          if (puVar5 == (undefined4 *)param_2[0x10]) {
            std::
            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>
            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>
                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>
                        *)(param_2 + 0xe),puVar5,&local_48);
            puVar2 = (undefined4 *)param_2[0xf];
          }
          else {
            puVar2 = puVar5 + 8;
            puVar5[1] = local_44;
            puVar5[2] = local_40;
            *puVar5 = local_48;
            puVar5[3] = local_3c;
            puVar5[4] = local_38;
            puVar5[5] = local_34;
            puVar5[6] = local_30;
            puVar5[7] = local_2c;
            param_2[0xf] = (int)puVar2;
          }
          iVar4 = (int)puVar2 - param_2[0xe] >> 5;
          if (param_2[8] << 1 < 0) {
            (*(code *)PTR_do_gold_unreachable_004c1a30)
                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,
                       PTR_s__s_004c1a50 + -0xfb0);
            return;
          }
          param_2[4] = 0;
          param_2[5] = iVar4 << 4;
          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;
          if (local_34 << 0x1c < 0) {
            param_2[0xc] = param_2[0xc] + 1;
          }
          if ((local_30 != -4) && (local_44 != 0)) {
            if (*(int *)(local_44 + 100) == 0) {
              *(int *)(local_44 + 0x60) = iVar4 + -1;
            }
            piVar3 = (int *)param_1[1];
            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;
            goto LAB_0015ab48;
          }
        }
        else {
          (**(code **)(*param_2 + 0x68))
                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]
                     ,piVar6[9]);
        }
        piVar3 = (int *)param_1[1];
      }
LAB_0015ab48:
      piVar6 = piVar6 + 10;
    } while (piVar3 != piVar6);
    if (piVar3 != (int *)*param_1) {
      param_1[1] = *param_1;
    }
  }
  return;
}


lui gp,0x37
addiu gp,gp,-0x1750
addu gp,gp,t9
addiu sp,sp,-0x80
lw v1,0x4(a0)
sw s0,0x58(sp)
sw gp,0x30(sp)
sw ra,0x7c(sp)
sw s8,0x78(sp)
sw s7,0x74(sp)
sw s6,0x70(sp)
sw s5,0x6c(sp)
sw s4,0x68(sp)
sw s3,0x64(sp)
sw s2,0x60(sp)
sw s1,0x5c(sp)
lw s0,0x0(a0)
beq s0,v1,0x0015ab64
_lw s2,-0x5ce8(gp)
addiu s7,sp,0x38
lw s5,-0x7440(gp)
li s3,0x1
addiu s4,a1,0x38
or s6,a1,zero
or s1,a0,zero
lw a1,0x0(s0)
lw v0,0x28(a1)
andi v0,v0,0xe000
bne v0,zero,0x0015ab48
_nop
lw v0,0x8(a1)
lw v0,0x2c(v0)
bgez v0,0x0015ab48
_nop
lw v0,0x0(s6)
lw a2,0x4(s0)
lw s8,0x10(s0)
lw v1,0x8(s0)
lw t9,0x68(v0)
lw t2,0xc(s0)
lw t1,0x1c(s0)
lw t0,0x18(s0)
lw v0,0x20(s0)
bne t9,s2,0x0015ab94
_lw a0,0x24(s0)
or v0,v0,a0
bne v0,zero,0x0015abfc
_lw t9,-0x73b0(gp)
or a3,v1,zero
sw zero,0x28(sp)
or a0,s7,zero
sw zero,0x24(sp)
sw zero,0x20(sp)
sw t1,0x1c(sp)
sw t0,0x18(sp)
jalr t9
_sw t2,0x10(sp)
lw a1,0x3c(s6)
lw v0,0x40(s6)
beq a1,v0,0x0015abc4
_lw gp,0x30(sp)
lw t2,0x3c(sp)
addiu v0,a1,0x20
lw t1,0x40(sp)
lw t0,0x44(sp)
lw a3,0x48(sp)
lw a2,0x4c(sp)
lw a0,0x50(sp)
lw v1,0x54(sp)
lw t3,0x38(sp)
sw t2,0x4(a1)
sw t1,0x8(a1)
sw t3,0x0(a1)
sw t0,0xc(a1)
sw a3,0x10(a1)
sw a2,0x14(a1)
sw a0,0x18(a1)
sw v1,0x1c(a1)
sw v0,0x3c(s6)
lw a0,0x38(s6)
lw v1,0x20(s6)
subu v0,v0,a0
ext v1,v1,0x1e,0x1
sra v0,v0,0x5
bne v1,zero,0x0015abe0
_sll a0,v0,0x4
lw v1,0x4c(sp)
sw zero,0x10(s6)
sw a0,0x14(s6)
lbu a0,0x20(s8)
ext v1,v1,0x3,0x1
ins a0,s3,0x3,0x1
beq v1,zero,0x0015ab14
_sb a0,0x20(s8)
lw v1,0x30(s6)
addiu v1,v1,0x1
sw v1,0x30(s6)
lw a1,0x50(sp)
li v1,-0x4
beq a1,v1,0x0015abbc
_lw a0,0x3c(sp)
beq a0,zero,0x0015abbc
_nop
lw v1,0x64(a0)
bne v1,zero,0x0015ab3c
_addiu v0,v0,-0x1
sw v0,0x60(a0)
addiu v0,v1,0x1
lw v1,0x4(s1)
sw v0,0x64(a0)
addiu s0,s0,0x28
bne v1,s0,0x0015a9f4
_nop
lw v0,0x0(s1)
beq v1,v0,0x0015ab68
_lw ra,0x7c(sp)
sw v0,0x4(s1)
lw ra,0x7c(sp)
lw s8,0x78(sp)
lw s7,0x74(sp)
lw s6,0x70(sp)
lw s5,0x6c(sp)
lw s4,0x68(sp)
lw s3,0x64(sp)
lw s2,0x60(sp)
lw s1,0x5c(sp)
lw s0,0x58(sp)
jr ra
_addiu sp,sp,0x80
sw a0,0x24(sp)
or a3,s8,zero
sw v0,0x20(sp)
or a0,s6,zero
sw t1,0x1c(sp)
sw t0,0x18(sp)
sw t2,0x14(sp)
jalr t9
_sw v1,0x10(sp)
lw gp,0x30(sp)
b 0x0015ab48
_lw v1,0x4(s1)
or a2,s7,zero
or t9,s5,zero
bal 0x00141bb8
_or a0,s4,zero
lw gp,0x30(sp)
b 0x0015aacc
_lw v0,0x3c(s6)
lw a2,-0x77f0(gp)
li a1,0x231
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0xfb0
jalr t9
_addiu a0,a0,0x3574
lw a2,-0x77f0(gp)
li a1,0x6d5
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x1104
jalr t9
_addiu a0,a0,0x3574
(translation_unit "void FUN_0015a990(int *param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  undefined4 local_2c;\n  \n  puVar1 = PTR_add_global_generic_004c3558;\n  piVar3 = (int *)param_1[1];\n  piVar6 = (int *)*param_1;\n  if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_0015a990(int *param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  undefined4 local_2c;\n  \n  puVar1 = PTR_add_global_generic_004c3558;\n  piVar3 = (int *)param_1[1];\n  piVar6 = (int *)*param_1;\n  if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0015a990(int *param_1,int *param_2)" identifier (parameter_list "(int *param_1,int *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  undefined4 local_2c;\n  \n  puVar1 = PTR_add_global_generic_004c3558;\n  piVar3 = (int *)param_1[1];\n  piVar6 = (int *)*param_1;\n  if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_add_global_generic_004c3558;" (assignment_expression "puVar1 = PTR_add_global_generic_004c3558" identifier = identifier) ;) (expression_statement "piVar3 = (int *)param_1[1];" (assignment_expression "piVar3 = (int *)param_1[1]" identifier = (cast_expression "(int *)param_1[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar6 = (int *)*param_1;" (assignment_expression "piVar6 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (if_statement "if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }" if (parenthesized_expression "(piVar6 != piVar3)" ( (binary_expression "piVar6 != piVar3" identifier != identifier) )) (compound_statement "{\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }" { (do_statement "do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);" do (compound_statement "{\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    }" { (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }" if (parenthesized_expression "(((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0))" ( (binary_expression "((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)" (parenthesized_expression "((*(uint *)(iVar4 + 0x28) & 0xe000) == 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x28) & 0xe000) == 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(iVar4 + 0x28) & 0xe000" (pointer_expression "*(uint *)(iVar4 + 0x28)" * (cast_expression "(uint *)(iVar4 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)" ( (binary_expression "*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0" (pointer_expression "*(int *)(*(int *)(iVar4 + 8) + 0x2c)" * (cast_expression "(int *)(*(int *)(iVar4 + 8) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 8) + 0x2c)" ( (binary_expression "*(int *)(iVar4 + 8) + 0x2c" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) + number_literal) )))) < number_literal) ))) )) (compound_statement "{\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }" { (expression_statement "iVar7 = piVar6[4];" (assignment_expression "iVar7 = piVar6[4]" identifier = (subscript_expression "piVar6[4]" identifier [ number_literal ])) ;) (if_statement "if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }" if (parenthesized_expression "(*(code **)(*param_2 + 0x68) == (code *)puVar1)" ( (binary_expression "*(code **)(*param_2 + 0x68) == (code *)puVar1" (pointer_expression "*(code **)(*param_2 + 0x68)" * (cast_expression "(code **)(*param_2 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x68)" ( (binary_expression "*param_2 + 0x68" (pointer_expression "*param_2" * identifier) + number_literal) )))) == (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }" { (if_statement "if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }" if (parenthesized_expression "(piVar6[8] != 0 || piVar6[9] != 0)" ( (binary_expression "piVar6[8] != 0 || piVar6[9] != 0" (binary_expression "piVar6[8] != 0" (subscript_expression "piVar6[8]" identifier [ number_literal ]) != number_literal) || (binary_expression "piVar6[9] != 0" (subscript_expression "piVar6[9]" identifier [ number_literal ]) != number_literal)) )) (compound_statement "{\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x1104" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);" (call_expression "(*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3])" (parenthesized_expression "(*(code *)PTR_Output_reloc_004c1e90)" ( (pointer_expression "*(code *)PTR_Output_reloc_004c1e90" * (cast_expression "(code *)PTR_Output_reloc_004c1e90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3])" ( (pointer_expression "&local_48" & identifier) , identifier , (subscript_expression "piVar6[1]" identifier [ number_literal ]) , (subscript_expression "piVar6[2]" identifier [ number_literal ]) , (subscript_expression "piVar6[3]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar5 = (undefined4 *)param_2[0xf];" (assignment_expression "puVar5 = (undefined4 *)param_2[0xf]" identifier = (cast_expression "(undefined4 *)param_2[0xf]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xf]" identifier [ number_literal ]))) ;) (if_statement "if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }" if (parenthesized_expression "(puVar5 == (undefined4 *)param_2[0x10])" ( (binary_expression "puVar5 == (undefined4 *)param_2[0x10]" identifier == (cast_expression "(undefined4 *)param_2[0x10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x10]" identifier [ number_literal ]))) )) (compound_statement "{\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }" { (labeled_statement "std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);" statement_identifier (ERROR "::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,true,64,false>,std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>,std" true , (comma_expression "64,false>,std" number_literal , (binary_expression "false>,std" false > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>>>\n            ::_M_realloc_insert<gold" true , (comma_expression "64,false>>>\n            ::_M_realloc_insert<gold" number_literal , (binary_expression "false>>>\n            ::_M_realloc_insert<gold" (binary_expression "false>>>\n            ::_M_realloc_insert" false >> (ERROR ">\n            ::" > : :) identifier) < identifier)))) :) : (expression_statement "Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);" (comma_expression "Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" true , (comma_expression "64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" number_literal , (binary_expression "false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" (binary_expression "false>const" false > identifier) (ERROR "&" &) > (parenthesized_expression "((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" ( (comma_expression "(vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48" (call_expression "(vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe)" (parenthesized_expression "(vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)" ( (ERROR "vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,true,64,false>,std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>,std" true , (comma_expression "64,false>,std" number_literal , (binary_expression "false>,std" false > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Output_reloc<9,true,64,false>>>\n                        *" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>>>\n                        *" true , (comma_expression "64,false>>>\n                        *" number_literal , (binary_expression "false>>>\n                        *" false >> (ERROR ">" >) (pointer_expression "*" * identifier))))) )) (argument_list "(param_2 + 0xe)" ( (binary_expression "param_2 + 0xe" identifier + number_literal) ))) , (comma_expression "puVar5,&local_48" identifier , (pointer_expression "&local_48" & identifier))) )))))) ;)) (expression_statement "puVar2 = (undefined4 *)param_2[0xf];" (assignment_expression "puVar2 = (undefined4 *)param_2[0xf]" identifier = (cast_expression "(undefined4 *)param_2[0xf]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xf]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }" else (compound_statement "{\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }" { (expression_statement "puVar2 = puVar5 + 8;" (assignment_expression "puVar2 = puVar5 + 8" identifier = (binary_expression "puVar5 + 8" identifier + number_literal)) ;) (expression_statement "puVar5[1] = local_44;" (assignment_expression "puVar5[1] = local_44" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = local_40;" (assignment_expression "puVar5[2] = local_40" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar5 = local_48;" (assignment_expression "*puVar5 = local_48" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "puVar5[3] = local_3c;" (assignment_expression "puVar5[3] = local_3c" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[4] = local_38;" (assignment_expression "puVar5[4] = local_38" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[5] = local_34;" (assignment_expression "puVar5[5] = local_34" (subscript_expression "puVar5[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[6] = local_30;" (assignment_expression "puVar5[6] = local_30" (subscript_expression "puVar5[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[7] = local_2c;" (assignment_expression "puVar5[7] = local_2c" (subscript_expression "puVar5[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0xf] = (int)puVar2;" (assignment_expression "param_2[0xf] = (int)puVar2" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "iVar4 = (int)puVar2 - param_2[0xe] >> 5;" (assignment_expression "iVar4 = (int)puVar2 - param_2[0xe] >> 5" identifier = (binary_expression "(int)puVar2 - param_2[0xe] >> 5" (binary_expression "(int)puVar2 - param_2[0xe]" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "param_2[0xe]" identifier [ number_literal ])) >> number_literal)) ;) (if_statement "if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }" if (parenthesized_expression "(param_2[8] << 1 < 0)" ( (binary_expression "param_2[8] << 1 < 0" (binary_expression "param_2[8] << 1" (subscript_expression "param_2[8]" identifier [ number_literal ]) << number_literal) < number_literal) )) (compound_statement "{\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0xfb0" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "param_2[4] = 0;" (assignment_expression "param_2[4] = 0" (subscript_expression "param_2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[5] = iVar4 << 4;" (assignment_expression "param_2[5] = iVar4 << 4" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (binary_expression "iVar4 << 4" identifier << number_literal)) ;) (expression_statement "*(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;" (assignment_expression "*(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8" (pointer_expression "*(byte *)(iVar7 + 0x20)" * (cast_expression "(byte *)(iVar7 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar7 + 0x20) & 0xf7 | 8" (binary_expression "*(byte *)(iVar7 + 0x20) & 0xf7" (pointer_expression "*(byte *)(iVar7 + 0x20)" * (cast_expression "(byte *)(iVar7 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (if_statement "if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }" if (parenthesized_expression "(local_34 << 0x1c < 0)" ( (binary_expression "local_34 << 0x1c < 0" (binary_expression "local_34 << 0x1c" identifier << number_literal) < number_literal) )) (compound_statement "{\n            param_2[0xc] = param_2[0xc] + 1;\n          }" { (expression_statement "param_2[0xc] = param_2[0xc] + 1;" (assignment_expression "param_2[0xc] = param_2[0xc] + 1" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) = (binary_expression "param_2[0xc] + 1" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) + number_literal)) ;) })) (if_statement "if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }" if (parenthesized_expression "((local_30 != -4) && (local_44 != 0))" ( (binary_expression "(local_30 != -4) && (local_44 != 0)" (parenthesized_expression "(local_30 != -4)" ( (binary_expression "local_30 != -4" identifier != number_literal) )) && (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) ))) )) (compound_statement "{\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }" { (if_statement "if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }" if (parenthesized_expression "(*(int *)(local_44 + 100) == 0)" ( (binary_expression "*(int *)(local_44 + 100) == 0" (pointer_expression "*(int *)(local_44 + 100)" * (cast_expression "(int *)(local_44 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 100)" ( (binary_expression "local_44 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }" { (expression_statement "*(int *)(local_44 + 0x60) = iVar4 + -1;" (assignment_expression "*(int *)(local_44 + 0x60) = iVar4 + -1" (pointer_expression "*(int *)(local_44 + 0x60)" * (cast_expression "(int *)(local_44 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 0x60)" ( (binary_expression "local_44 + 0x60" identifier + number_literal) )))) = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) })) (expression_statement "piVar3 = (int *)param_1[1];" (assignment_expression "piVar3 = (int *)param_1[1]" identifier = (cast_expression "(int *)param_1[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "*(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;" (assignment_expression "*(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1" (pointer_expression "*(int *)(local_44 + 100)" * (cast_expression "(int *)(local_44 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 100)" ( (binary_expression "local_44 + 100" identifier + number_literal) )))) = (binary_expression "*(int *)(local_44 + 100) + 1" (pointer_expression "*(int *)(local_44 + 100)" * (cast_expression "(int *)(local_44 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 100)" ( (binary_expression "local_44 + 100" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_0015ab48;" goto statement_identifier ;) })) }) (else_clause "else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }" else (compound_statement "{\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }" { (expression_statement "(**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);" (call_expression "(**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9])" (parenthesized_expression "(**(code **)(*param_2 + 0x68))" ( (pointer_expression "**(code **)(*param_2 + 0x68)" * (pointer_expression "*(code **)(*param_2 + 0x68)" * (cast_expression "(code **)(*param_2 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x68)" ( (binary_expression "*param_2 + 0x68" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9])" ( identifier , identifier , (subscript_expression "piVar6[1]" identifier [ number_literal ]) , identifier , (subscript_expression "piVar6[2]" identifier [ number_literal ]) , (subscript_expression "piVar6[3]" identifier [ number_literal ]) , (subscript_expression "piVar6[6]" identifier [ number_literal ]) , (subscript_expression "piVar6[7]" identifier [ number_literal ]) , (subscript_expression "piVar6[8]" identifier [ number_literal ]) , (subscript_expression "piVar6[9]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "piVar3 = (int *)param_1[1];" (assignment_expression "piVar3 = (int *)param_1[1]" identifier = (cast_expression "(int *)param_1[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_0015ab48:\n      piVar6 = piVar6 + 10;" statement_identifier : (expression_statement "piVar6 = piVar6 + 10;" (assignment_expression "piVar6 = piVar6 + 10" identifier = (binary_expression "piVar6 + 10" identifier + number_literal)) ;)) }) while (parenthesized_expression "(piVar3 != piVar6)" ( (binary_expression "piVar3 != piVar6" identifier != identifier) )) ;) (if_statement "if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }" if (parenthesized_expression "(piVar3 != (int *)*param_1)" ( (binary_expression "piVar3 != (int *)*param_1" identifier != (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) )) (compound_statement "{\n      param_1[1] = *param_1;\n    }" { (expression_statement "param_1[1] = *param_1;" (assignment_expression "param_1[1] = *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (pointer_expression "*param_1" * identifier)) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: void emit(Copy_relocs<9,_64,_false> * this,\n   Output_data_reloc<9,_true,_64,_false> * reloc_section) */\n\nvoid __thiscall\ngold::Copy_relocs<9,_64,_false>::emit\n          (Copy_relocs<9,_64,_false> *this,Output_data_reloc<9,_true,_64,_false> *reloc_section)\n\n{\n  int iVar1;\n  pointer pOVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  pointer pCVar5;\n  uint uVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  undefined4 *puVar12;\n  undefined4 uVar13;\n  Symbol *pSVar14;\n  iterator __position;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  undefined4 *puVar18;\n  pointer pCVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  _func_int_varargs *p_Var23;\n  undefined *puVar24;\n  Output_section *pOVar25;\n  anon_union_4_4_c82d8563_for_u1_ local_48;\n  Sized_relobj<64,_false> *local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  uint local_38;\n  int local_34;\n  uint local_30;\n  undefined4 local_2c;\n  \n  puVar24 = PTR_add_global_generic_004c3558;\n  pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n           ._M_impl._M_finish;\n  pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n            ._M_impl._M_start;\n  if (pCVar19 != pCVar5) {\n    do {\n      pSVar14 = pCVar19->sym_;\n      if (((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0) &&\n         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0)) {\n        pOVar25 = pCVar19->output_section_;\n        p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];\n        iVar1 = (int)pCVar19->addend_;\n        if (p_Var23 == (_func_int_varargs *)puVar24) {\n          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }\n          puVar15 = (undefined4 *)&DAT_000006d5;\n          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);\n          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n          puVar24 = PTR_do_gold_unreachable_004c1a30;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)();\n          puVar21 = (undefined4 *)*puVar12;\n          puVar20 = (undefined4 *)puVar12[1];\n          iVar1 = (int)puVar20 - (int)puVar21 >> 3;\n          uVar6 = iVar1 * -0x33333333;\n          if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }\n          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);\n          iVar1 = (int)puVar3 + iVar1;\n          puVar22 = puVar3 + 10;\nLAB_0015acb4:\n          puVar18 = puVar16;\n          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));\n          do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);\n          uVar4 = puVar9[5];\n          puVar10[4] = *puVar18;\n          puVar10[5] = uVar4;\n          puVar16 = puVar21;\n          puVar18 = puVar3;\n          if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }\n          puVar16 = puVar15;\n          puVar18 = puVar22;\n          if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }\n          if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }\n          *puVar12 = puVar3;\n          puVar12[1] = puVar22;\n          puVar12[2] = iVar1;\n          return;\n        }\n        (*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1);\nLAB_0015abbc:\n        pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish;\n      }\nLAB_0015ab48:\n      pCVar19 = pCVar19 + 1;\n    } while (pCVar5 != pCVar19);\n    pCVar19 = (this->entries_).\n              super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n              ._M_impl._M_start;\n    if (pCVar5 != pCVar19) {\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish = pCVar19;\n    }\n  }\n  return;\n}\n\n" comment comment comment comment (declaration "void __thiscall\ngold::Copy_relocs<9,_64,_false>::emit\n          (Copy_relocs<9,_64,_false> *this,Output_data_reloc<9,_true,_64,_false> *reloc_section)\n\n{\n  int iVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<9" < number_literal) , identifier , (ERROR "_false>::emit\n          (Copy_relocs<9,_64,_false> *this,Output_data_reloc<9,_true,_64,_false> *reloc_section)\n\n{\n  int" (function_declarator "_false>::emit\n          (Copy_relocs<9,_64,_false> *this,Output_data_reloc<9,_true,_64,_false> *reloc_section)" identifier (ERROR ">::emit" > : : identifier) (parameter_list "(Copy_relocs<9,_64,_false> *this,Output_data_reloc<9,_true,_64,_false> *reloc_section)" ( (parameter_declaration "Copy_relocs" type_identifier) (ERROR "<9" < number_literal) , (parameter_declaration "_64" type_identifier) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_data_reloc" type_identifier) (ERROR "<9" < number_literal) , (parameter_declaration "_true" type_identifier) , (parameter_declaration "_64" type_identifier) , (parameter_declaration "_false> *reloc_section" type_identifier (ERROR ">" >) (pointer_declarator "*reloc_section" * identifier)) ))) { primitive_type) identifier ;) (declaration "pointer pOVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "pointer pCVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "Symbol *pSVar14;" type_identifier (pointer_declarator "*pSVar14" * identifier) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "pointer pCVar19;" type_identifier identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "_func_int_varargs *p_Var23;" type_identifier (pointer_declarator "*p_Var23" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "Output_section *pOVar25;" type_identifier (pointer_declarator "*pOVar25" * identifier) ;) (declaration "anon_union_4_4_c82d8563_for_u1_ local_48;" type_identifier identifier ;) (expression_statement "Sized_relobj<64,_false> *local_44;" (update_expression "Sized_relobj<64,_false> *local_44" (binary_expression "Sized_relobj<64,_false> *local_44" (binary_expression "Sized_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_44" * identifier)) --) ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (expression_statement "puVar24 = PTR_add_global_generic_004c3558;" (assignment_expression "puVar24 = PTR_add_global_generic_004c3558" identifier = identifier) ;) (expression_statement "pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n           ._M_impl._M_finish;" (field_expression "pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n           ._M_impl._M_finish" (field_expression "pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n           ._M_impl" (binary_expression "pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_" (binary_expression "pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry" (binary_expression "pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9" (binary_expression "pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold" (binary_expression "pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry" (binary_expression "pCVar5 = (this->entries_).\n           super__Vector_base<gold::Copy_relocs<9" (assignment_expression "pCVar5 = (this->entries_).\n           super__Vector_base<gold" identifier = (binary_expression "(this->entries_).\n           super__Vector_base<gold" (field_expression "(this->entries_).\n           super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Copy_relocs" : : identifier) < number_literal) (ERROR ",_64,_false" , identifier , identifier) > (ERROR "::" : :) identifier) (ERROR ",_std::allocator" , identifier : : identifier) < identifier) (ERROR "::Copy_relocs" : : identifier) < number_literal) (ERROR ",_64,_false" , identifier , identifier) > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n            ._M_impl._M_start;" (field_expression "pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n            ._M_impl._M_start" (field_expression "pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n            ._M_impl" (binary_expression "pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_" (binary_expression "pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry" (binary_expression "pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9" (binary_expression "pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold" (binary_expression "pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry" (binary_expression "pCVar19 = (this->entries_).\n            super__Vector_base<gold::Copy_relocs<9" (assignment_expression "pCVar19 = (this->entries_).\n            super__Vector_base<gold" identifier = (binary_expression "(this->entries_).\n            super__Vector_base<gold" (field_expression "(this->entries_).\n            super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Copy_relocs" : : identifier) < number_literal) (ERROR ",_64,_false" , identifier , identifier) > (ERROR "::" : :) identifier) (ERROR ",_std::allocator" , identifier : : identifier) < identifier) (ERROR "::Copy_relocs" : : identifier) < number_literal) (ERROR ",_64,_false" , identifier , identifier) > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (pCVar19 != pCVar5) {\n    do {\n      pSVar14 = pCVar19->sym_;\n      if (((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0) &&\n         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0)) {\n        pOVar25 = pCVar19->output_section_;\n        p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];\n        iVar1 = (int)pCVar19->addend_;\n        if (p_Var23 == (_func_int_varargs *)puVar24) {\n          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }\n          puVar15 = (undefined4 *)&DAT_000006d5;\n          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);\n          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n          puVar24 = PTR_do_gold_unreachable_004c1a30;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)();\n          puVar21 = (undefined4 *)*puVar12;\n          puVar20 = (undefined4 *)puVar12[1];\n          iVar1 = (int)puVar20 - (int)puVar21 >> 3;\n          uVar6 = iVar1 * -0x33333333;\n          if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }\n          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);\n          iVar1 = (int)puVar3 + iVar1;\n          puVar22 = puVar3 + 10;\nLAB_0015acb4:\n          puVar18 = puVar16;\n          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));\n          do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);\n          uVar4 = puVar9[5];\n          puVar10[4] = *puVar18;\n          puVar10[5] = uVar4;\n          puVar16 = puVar21;\n          puVar18 = puVar3;\n          if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }\n          puVar16 = puVar15;\n          puVar18 = puVar22;\n          if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }\n          if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }\n          *puVar12 = puVar3;\n          puVar12[1] = puVar22;\n          puVar12[2] = iVar1;\n          return;\n        }\n        (*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1);\nLAB_0015abbc:\n        pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish;\n      }\nLAB_0015ab48:\n      pCVar19 = pCVar19 + 1;\n    } while (pCVar5 != pCVar19);\n    pCVar19 = (this->entries_).\n              super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n              ._M_impl._M_start;\n    if (pCVar5 != pCVar19) {\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish = pCVar19;\n    }\n  }" if (parenthesized_expression "(pCVar19 != pCVar5)" ( (binary_expression "pCVar19 != pCVar5" identifier != identifier) )) (compound_statement "{\n    do {\n      pSVar14 = pCVar19->sym_;\n      if (((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0) &&\n         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0)) {\n        pOVar25 = pCVar19->output_section_;\n        p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];\n        iVar1 = (int)pCVar19->addend_;\n        if (p_Var23 == (_func_int_varargs *)puVar24) {\n          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }\n          puVar15 = (undefined4 *)&DAT_000006d5;\n          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);\n          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n          puVar24 = PTR_do_gold_unreachable_004c1a30;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)();\n          puVar21 = (undefined4 *)*puVar12;\n          puVar20 = (undefined4 *)puVar12[1];\n          iVar1 = (int)puVar20 - (int)puVar21 >> 3;\n          uVar6 = iVar1 * -0x33333333;\n          if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }\n          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);\n          iVar1 = (int)puVar3 + iVar1;\n          puVar22 = puVar3 + 10;\nLAB_0015acb4:\n          puVar18 = puVar16;\n          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));\n          do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);\n          uVar4 = puVar9[5];\n          puVar10[4] = *puVar18;\n          puVar10[5] = uVar4;\n          puVar16 = puVar21;\n          puVar18 = puVar3;\n          if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }\n          puVar16 = puVar15;\n          puVar18 = puVar22;\n          if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }\n          if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }\n          *puVar12 = puVar3;\n          puVar12[1] = puVar22;\n          puVar12[2] = iVar1;\n          return;\n        }\n        (*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1);\nLAB_0015abbc:\n        pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish;\n      }\nLAB_0015ab48:\n      pCVar19 = pCVar19 + 1;\n    } while (pCVar5 != pCVar19);\n    pCVar19 = (this->entries_).\n              super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n              ._M_impl._M_start;\n    if (pCVar5 != pCVar19) {\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish = pCVar19;\n    }\n  }" { (do_statement "do {\n      pSVar14 = pCVar19->sym_;\n      if (((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0) &&\n         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0)) {\n        pOVar25 = pCVar19->output_section_;\n        p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];\n        iVar1 = (int)pCVar19->addend_;\n        if (p_Var23 == (_func_int_varargs *)puVar24) {\n          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }\n          puVar15 = (undefined4 *)&DAT_000006d5;\n          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);\n          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n          puVar24 = PTR_do_gold_unreachable_004c1a30;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)();\n          puVar21 = (undefined4 *)*puVar12;\n          puVar20 = (undefined4 *)puVar12[1];\n          iVar1 = (int)puVar20 - (int)puVar21 >> 3;\n          uVar6 = iVar1 * -0x33333333;\n          if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }\n          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);\n          iVar1 = (int)puVar3 + iVar1;\n          puVar22 = puVar3 + 10;\nLAB_0015acb4:\n          puVar18 = puVar16;\n          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));\n          do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);\n          uVar4 = puVar9[5];\n          puVar10[4] = *puVar18;\n          puVar10[5] = uVar4;\n          puVar16 = puVar21;\n          puVar18 = puVar3;\n          if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }\n          puVar16 = puVar15;\n          puVar18 = puVar22;\n          if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }\n          if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }\n          *puVar12 = puVar3;\n          puVar12[1] = puVar22;\n          puVar12[2] = iVar1;\n          return;\n        }\n        (*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1);\nLAB_0015abbc:\n        pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish;\n      }\nLAB_0015ab48:\n      pCVar19 = pCVar19 + 1;\n    } while (pCVar5 != pCVar19);" do (compound_statement "{\n      pSVar14 = pCVar19->sym_;\n      if (((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0) &&\n         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0)) {\n        pOVar25 = pCVar19->output_section_;\n        p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];\n        iVar1 = (int)pCVar19->addend_;\n        if (p_Var23 == (_func_int_varargs *)puVar24) {\n          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }\n          puVar15 = (undefined4 *)&DAT_000006d5;\n          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);\n          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n          puVar24 = PTR_do_gold_unreachable_004c1a30;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)();\n          puVar21 = (undefined4 *)*puVar12;\n          puVar20 = (undefined4 *)puVar12[1];\n          iVar1 = (int)puVar20 - (int)puVar21 >> 3;\n          uVar6 = iVar1 * -0x33333333;\n          if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }\n          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);\n          iVar1 = (int)puVar3 + iVar1;\n          puVar22 = puVar3 + 10;\nLAB_0015acb4:\n          puVar18 = puVar16;\n          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));\n          do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);\n          uVar4 = puVar9[5];\n          puVar10[4] = *puVar18;\n          puVar10[5] = uVar4;\n          puVar16 = puVar21;\n          puVar18 = puVar3;\n          if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }\n          puVar16 = puVar15;\n          puVar18 = puVar22;\n          if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }\n          if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }\n          *puVar12 = puVar3;\n          puVar12[1] = puVar22;\n          puVar12[2] = iVar1;\n          return;\n        }\n        (*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1);\nLAB_0015abbc:\n        pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish;\n      }\nLAB_0015ab48:\n      pCVar19 = pCVar19 + 1;\n    }" { (expression_statement "pSVar14 = pCVar19->sym_;" (assignment_expression "pSVar14 = pCVar19->sym_" identifier = (field_expression "pCVar19->sym_" identifier -> field_identifier)) ;) (if_statement "if (((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0) &&\n         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0)) {\n        pOVar25 = pCVar19->output_section_;\n        p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];\n        iVar1 = (int)pCVar19->addend_;\n        if (p_Var23 == (_func_int_varargs *)puVar24) {\n          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }\n          puVar15 = (undefined4 *)&DAT_000006d5;\n          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);\n          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n          puVar24 = PTR_do_gold_unreachable_004c1a30;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)();\n          puVar21 = (undefined4 *)*puVar12;\n          puVar20 = (undefined4 *)puVar12[1];\n          iVar1 = (int)puVar20 - (int)puVar21 >> 3;\n          uVar6 = iVar1 * -0x33333333;\n          if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }\n          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);\n          iVar1 = (int)puVar3 + iVar1;\n          puVar22 = puVar3 + 10;\nLAB_0015acb4:\n          puVar18 = puVar16;\n          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));\n          do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);\n          uVar4 = puVar9[5];\n          puVar10[4] = *puVar18;\n          puVar10[5] = uVar4;\n          puVar16 = puVar21;\n          puVar18 = puVar3;\n          if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }\n          puVar16 = puVar15;\n          puVar18 = puVar22;\n          if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }\n          if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }\n          *puVar12 = puVar3;\n          puVar12[1] = puVar22;\n          puVar12[2] = iVar1;\n          return;\n        }\n        (*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1);\nLAB_0015abbc:\n        pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish;\n      }" if (parenthesized_expression "(((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0) &&\n         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0))" ( (binary_expression "((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0) &&\n         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0)" (parenthesized_expression "((*(uint *)&pSVar14->field_0x28 & 0xe000) == 0)" ( (binary_expression "(*(uint *)&pSVar14->field_0x28 & 0xe000) == 0" (parenthesized_expression "(*(uint *)&pSVar14->field_0x28 & 0xe000)" ( (binary_expression "*(uint *)&pSVar14->field_0x28 & 0xe000" (pointer_expression "*(uint *)&pSVar14->field_0x28" * (cast_expression "(uint *)&pSVar14->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar14->field_0x28" & (field_expression "pSVar14->field_0x28" identifier -> field_identifier)))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0)" ( (binary_expression "(int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage < 0" (field_expression "(int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n               _M_end_of_storage" (field_expression "(int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl" (binary_expression "(int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold::Output_data*,_std" (binary_expression "(int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base<gold" (cast_expression "(int)((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "((pSVar14->u1_).output_segment)->output_lists_[3].\n               super__Vector_base" (subscript_expression "((pSVar14->u1_).output_segment)->output_lists_[3]" (field_expression "((pSVar14->u1_).output_segment)->output_lists_" (parenthesized_expression "((pSVar14->u1_).output_segment)" ( (field_expression "(pSVar14->u1_).output_segment" (parenthesized_expression "(pSVar14->u1_)" ( (field_expression "pSVar14->u1_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) < number_literal) ))) )) (compound_statement "{\n        pOVar25 = pCVar19->output_section_;\n        p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];\n        iVar1 = (int)pCVar19->addend_;\n        if (p_Var23 == (_func_int_varargs *)puVar24) {\n          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }\n          puVar15 = (undefined4 *)&DAT_000006d5;\n          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);\n          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n          puVar24 = PTR_do_gold_unreachable_004c1a30;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)();\n          puVar21 = (undefined4 *)*puVar12;\n          puVar20 = (undefined4 *)puVar12[1];\n          iVar1 = (int)puVar20 - (int)puVar21 >> 3;\n          uVar6 = iVar1 * -0x33333333;\n          if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }\n          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);\n          iVar1 = (int)puVar3 + iVar1;\n          puVar22 = puVar3 + 10;\nLAB_0015acb4:\n          puVar18 = puVar16;\n          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));\n          do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);\n          uVar4 = puVar9[5];\n          puVar10[4] = *puVar18;\n          puVar10[5] = uVar4;\n          puVar16 = puVar21;\n          puVar18 = puVar3;\n          if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }\n          puVar16 = puVar15;\n          puVar18 = puVar22;\n          if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }\n          if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }\n          *puVar12 = puVar3;\n          puVar12[1] = puVar22;\n          puVar12[2] = iVar1;\n          return;\n        }\n        (*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1);\nLAB_0015abbc:\n        pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish;\n      }" { (expression_statement "pOVar25 = pCVar19->output_section_;" (assignment_expression "pOVar25 = pCVar19->output_section_" identifier = (field_expression "pCVar19->output_section_" identifier -> field_identifier)) ;) (expression_statement "p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];" (assignment_expression "p_Var23 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a]" identifier = (subscript_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a]" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data._vptr_Output_data" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data.super_Output_data" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build.\n                  super_Output_section_data" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic.super_Output_section_data_build" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                  super_Output_data_reloc_generic" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (expression_statement "iVar1 = (int)pCVar19->addend_;" (assignment_expression "iVar1 = (int)pCVar19->addend_" identifier = (cast_expression "(int)pCVar19->addend_" ( (type_descriptor "int" primitive_type) ) (field_expression "pCVar19->addend_" identifier -> field_identifier))) ;) (if_statement "if (p_Var23 == (_func_int_varargs *)puVar24) {\n          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }\n          puVar15 = (undefined4 *)&DAT_000006d5;\n          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);\n          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n          puVar24 = PTR_do_gold_unreachable_004c1a30;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)();\n          puVar21 = (undefined4 *)*puVar12;\n          puVar20 = (undefined4 *)puVar12[1];\n          iVar1 = (int)puVar20 - (int)puVar21 >> 3;\n          uVar6 = iVar1 * -0x33333333;\n          if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }\n          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);\n          iVar1 = (int)puVar3 + iVar1;\n          puVar22 = puVar3 + 10;\nLAB_0015acb4:\n          puVar18 = puVar16;\n          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));\n          do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);\n          uVar4 = puVar9[5];\n          puVar10[4] = *puVar18;\n          puVar10[5] = uVar4;\n          puVar16 = puVar21;\n          puVar18 = puVar3;\n          if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }\n          puVar16 = puVar15;\n          puVar18 = puVar22;\n          if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }\n          if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }\n          *puVar12 = puVar3;\n          puVar12[1] = puVar22;\n          puVar12[2] = iVar1;\n          return;\n        }" if (parenthesized_expression "(p_Var23 == (_func_int_varargs *)puVar24)" ( (binary_expression "p_Var23 == (_func_int_varargs *)puVar24" identifier == (cast_expression "(_func_int_varargs *)puVar24" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n          if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }\n          puVar15 = (undefined4 *)&DAT_000006d5;\n          puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);\n          puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n          puVar24 = PTR_do_gold_unreachable_004c1a30;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)();\n          puVar21 = (undefined4 *)*puVar12;\n          puVar20 = (undefined4 *)puVar12[1];\n          iVar1 = (int)puVar20 - (int)puVar21 >> 3;\n          uVar6 = iVar1 * -0x33333333;\n          if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }\n          puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);\n          iVar1 = (int)puVar3 + iVar1;\n          puVar22 = puVar3 + 10;\nLAB_0015acb4:\n          puVar18 = puVar16;\n          puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));\n          do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);\n          uVar4 = puVar9[5];\n          puVar10[4] = *puVar18;\n          puVar10[5] = uVar4;\n          puVar16 = puVar21;\n          puVar18 = puVar3;\n          if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }\n          puVar16 = puVar15;\n          puVar18 = puVar22;\n          if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }\n          if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }\n          *puVar12 = puVar3;\n          puVar12[1] = puVar22;\n          puVar12[2] = iVar1;\n          return;\n        }" { (if_statement "if (*(int *)&pCVar19->addend_ == 0 && iVar1 == 0) {\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }" if (parenthesized_expression "(*(int *)&pCVar19->addend_ == 0 && iVar1 == 0)" ( (binary_expression "*(int *)&pCVar19->addend_ == 0 && iVar1 == 0" (binary_expression "*(int *)&pCVar19->addend_ == 0" (pointer_expression "*(int *)&pCVar19->addend_" * (cast_expression "(int *)&pCVar19->addend_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCVar19->addend_" & (field_expression "pCVar19->addend_" identifier -> field_identifier)))) == number_literal) && (binary_expression "iVar1 == 0" identifier == number_literal)) )) (compound_statement "{\n            (*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);\n            __position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;\n            if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }\n            iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;\n            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n          }" { (expression_statement "(*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_);" (call_expression "(*(code *)PTR_Output_reloc_004c1e90)\n                      (&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_)" (parenthesized_expression "(*(code *)PTR_Output_reloc_004c1e90)" ( (pointer_expression "*(code *)PTR_Output_reloc_004c1e90" * (cast_expression "(code *)PTR_Output_reloc_004c1e90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_48,pSVar14,pCVar19->reloc_type_,pCVar19->relobj_,pCVar19->shndx_)" ( (pointer_expression "&local_48" & identifier) , identifier , (field_expression "pCVar19->reloc_type_" identifier -> field_identifier) , (field_expression "pCVar19->relobj_" identifier -> field_identifier) , (field_expression "pCVar19->shndx_" identifier -> field_identifier) ))) ;) (ERROR "__position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::" (comma_expression "__position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std" (binary_expression "__position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold::Output_reloc<9" (assignment_expression "__position._M_current =\n                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base<gold" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                 super__Vector_base" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_64,_false>,_std" identifier , (comma_expression "_64,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : identifier < identifier : :) (expression_statement "Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish;" (comma_expression "Output_reloc<9,_true,_64,_false>_>_>\n                 ._M_impl._M_finish" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>_>_>\n                 ._M_impl._M_finish" identifier , (comma_expression "_64,_false>_>_>\n                 ._M_impl._M_finish" identifier , (field_expression "_false>_>_>\n                 ._M_impl._M_finish" (field_expression "_false>_>_>\n                 ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)))) ;) (if_statement "if (__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage) {\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }\n            else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }" if (parenthesized_expression "(__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage)" ( (ERROR "__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::" (comma_expression "__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std" (binary_expression "__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold::Output_reloc<9" (binary_expression "__position._M_current ==\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) == (binary_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base<gold" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                super__Vector_base" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_64,_false>,_std" identifier , (comma_expression "_64,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : identifier < identifier : :) (comma_expression "Output_reloc<9,_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>_>_>\n                ._M_impl._M_end_of_storage" identifier , (comma_expression "_64,_false>_>_>\n                ._M_impl._M_end_of_storage" identifier , (field_expression "_false>_>_>\n                ._M_impl._M_end_of_storage" (field_expression "_false>_>_>\n                ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)))) )) (compound_statement "{\n              std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);\n              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;\n            }" { (labeled_statement "std::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold::Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);" statement_identifier (ERROR "::\n              vector<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,_true,_64,_false>,_std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>,_std" identifier , (comma_expression "_64,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>_>_>\n              ::_M_realloc_insert<const_gold" identifier , (comma_expression "_64,_false>_>_>\n              ::_M_realloc_insert<const_gold" identifier , (binary_expression "_false>_>_>\n              ::_M_realloc_insert<const_gold" (binary_expression "_false>_>_>\n              ::_M_realloc_insert" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)))) :) : (expression_statement "Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48);" (comma_expression "Output_reloc<9,_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48)" identifier , (comma_expression "_64,_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48)" identifier , (binary_expression "_false>&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48)" identifier > (pointer_expression "&>\n                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48)" & (ERROR ">" >) (parenthesized_expression "(&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48)" ( (comma_expression "&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_,\n                         __position,(Output_reloc<9,_true,_64,_false> *)&local_48" (pointer_expression "&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_" & (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier)) , (comma_expression "__position,(Output_reloc<9,_true,_64,_false> *)&local_48" identifier , (binary_expression "(Output_reloc<9,_true,_64,_false> *)&local_48" (parenthesized_expression "(Output_reloc<9,_true,_64,_false> *)" ( (comma_expression "Output_reloc<9,_true,_64,_false> *" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false> *" identifier , (comma_expression "_64,_false> *" identifier , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))))) )) & identifier))) ))))))) ;)) (ERROR "pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::" (comma_expression "pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std" (binary_expression "pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold::Output_reloc<9" (assignment_expression "pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold" identifier = (binary_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base<gold" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                       super__Vector_base" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_64,_false>,_std" identifier , (comma_expression "_64,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish;" (comma_expression "Output_reloc<9,_true,_64,_false>_>_>\n                       ._M_impl._M_finish" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>_>_>\n                       ._M_impl._M_finish" identifier , (comma_expression "_64,_false>_>_>\n                       ._M_impl._M_finish" identifier , (field_expression "_false>_>_>\n                       ._M_impl._M_finish" (field_expression "_false>_>_>\n                       ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)))) ;) }) (else_clause "else {\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }" else (compound_statement "{\n              pOVar2 = __position._M_current + 1;\n              ((__position._M_current)->u2_).relobj = local_44;\n              *(undefined4 *)&(__position._M_current)->address_ = local_40;\n              (__position._M_current)->u1_ = local_48;\n              *(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;\n              (__position._M_current)->local_sym_index_ = local_38;\n              *(int *)&(__position._M_current)->field_0x14 = local_34;\n              (__position._M_current)->shndx_ = local_30;\n              *(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;\n              (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;\n            }" { (expression_statement "pOVar2 = __position._M_current + 1;" (assignment_expression "pOVar2 = __position._M_current + 1" identifier = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "((__position._M_current)->u2_).relobj = local_44;" (assignment_expression "((__position._M_current)->u2_).relobj = local_44" (field_expression "((__position._M_current)->u2_).relobj" (parenthesized_expression "((__position._M_current)->u2_)" ( (field_expression "(__position._M_current)->u2_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&(__position._M_current)->address_ = local_40;" (assignment_expression "*(undefined4 *)&(__position._M_current)->address_ = local_40" (pointer_expression "*(undefined4 *)&(__position._M_current)->address_" * (cast_expression "(undefined4 *)&(__position._M_current)->address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__position._M_current)->address_" & (field_expression "(__position._M_current)->address_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (expression_statement "(__position._M_current)->u1_ = local_48;" (assignment_expression "(__position._M_current)->u1_ = local_48" (field_expression "(__position._M_current)->u1_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c;" (assignment_expression "*(undefined4 *)((int)&(__position._M_current)->address_ + 4) = local_3c" (pointer_expression "*(undefined4 *)((int)&(__position._M_current)->address_ + 4)" * (cast_expression "(undefined4 *)((int)&(__position._M_current)->address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(__position._M_current)->address_ + 4)" ( (binary_expression "(int)&(__position._M_current)->address_ + 4" (cast_expression "(int)&(__position._M_current)->address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(__position._M_current)->address_" & (field_expression "(__position._M_current)->address_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(__position._M_current)->local_sym_index_ = local_38;" (assignment_expression "(__position._M_current)->local_sym_index_ = local_38" (field_expression "(__position._M_current)->local_sym_index_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "*(int *)&(__position._M_current)->field_0x14 = local_34;" (assignment_expression "*(int *)&(__position._M_current)->field_0x14 = local_34" (pointer_expression "*(int *)&(__position._M_current)->field_0x14" * (cast_expression "(int *)&(__position._M_current)->field_0x14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__position._M_current)->field_0x14" & (field_expression "(__position._M_current)->field_0x14" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (expression_statement "(__position._M_current)->shndx_ = local_30;" (assignment_expression "(__position._M_current)->shndx_ = local_30" (field_expression "(__position._M_current)->shndx_" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&(__position._M_current)->field_0x1c = local_2c;" (assignment_expression "*(undefined4 *)&(__position._M_current)->field_0x1c = local_2c" (pointer_expression "*(undefined4 *)&(__position._M_current)->field_0x1c" * (cast_expression "(undefined4 *)&(__position._M_current)->field_0x1c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(__position._M_current)->field_0x1c" & (field_expression "(__position._M_current)->field_0x1c" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (ERROR "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::" (comma_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std" (binary_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold::Output_reloc<9" (binary_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base<gold" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n              super__Vector_base" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_64,_false>,_std" identifier , (comma_expression "_64,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2;" (comma_expression "Output_reloc<9,_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2" identifier , (comma_expression "_64,_false>_>_>\n              ._M_impl._M_finish = pOVar2" identifier , (assignment_expression "_false>_>_>\n              ._M_impl._M_finish = pOVar2" (field_expression "_false>_>_>\n              ._M_impl._M_finish" (field_expression "_false>_>_>\n              ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier)))) ;) }))) (ERROR "iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std::allocator<gold::" (comma_expression "iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9,_true,_64,_false>,_std" (binary_expression "iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold::Output_reloc<9" (assignment_expression "iVar1 = (int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold" identifier = (binary_expression "(int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base<gold" (binary_expression "(int)pOVar2 -\n                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base" (cast_expression "(int)pOVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_.\n                         super__Vector_base" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).relocs_" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier))) < identifier)) (ERROR "::Output_reloc" : : identifier) < number_literal) , (comma_expression "_true,_64,_false>,_std" identifier , (comma_expression "_64,_false>,_std" identifier , (binary_expression "_false>,_std" identifier > (ERROR "," ,) identifier)))) : : identifier < identifier : :) (expression_statement "Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5;" (comma_expression "Output_reloc<9,_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>_>_>\n                         ._M_impl._M_start >> 5" identifier , (comma_expression "_64,_false>_>_>\n                         ._M_impl._M_start >> 5" identifier , (binary_expression "_false>_>_>\n                         ._M_impl._M_start >> 5" (field_expression "_false>_>_>\n                         ._M_impl._M_start" (field_expression "_false>_>_>\n                         ._M_impl" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal)))) ;) (if_statement "if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1) {\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }" if (parenthesized_expression "(-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1)" ( (binary_expression "-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1" number_literal < (binary_expression "*(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20 << 1" (pointer_expression "*(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20" * (cast_expression "(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20" & (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data.field_0x20" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data.super_Output_data" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build.\n                              super_Output_section_data" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic.super_Output_section_data_build" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                              super_Output_data_reloc_generic" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) << number_literal)) )) (compound_statement "{\n              *(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;\n              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;\n              (pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;\n              if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }\n              if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }\n              goto LAB_0015abbc;\n            }" { (expression_statement "*(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0;" (assignment_expression "*(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_ = 0" (pointer_expression "*(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_" * (cast_expression "(undefined4 *)\n               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_" & (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data.data_size_" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data.super_Output_data" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build.\n                super_Output_section_data" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.super_Output_section_data_build" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4;" (assignment_expression "*(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4) =\n                   iVar1 << 4" (pointer_expression "*(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4)" * (cast_expression "(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_ + 4" (cast_expression "(int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_" & (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data.data_size_" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data.super_Output_data" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build.\n                             super_Output_section_data" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic.super_Output_section_data_build" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                             super_Output_data_reloc_generic" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = (binary_expression "iVar1 << 4" identifier << number_literal)) ;) (expression_statement "(pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;" (assignment_expression "(pOVar25->super_Output_data).field_0x20 =\n                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8" (field_expression "(pOVar25->super_Output_data).field_0x20" (parenthesized_expression "(pOVar25->super_Output_data)" ( (field_expression "pOVar25->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(pOVar25->super_Output_data).field_0x20 & 0xf7 | 8" (binary_expression "(pOVar25->super_Output_data).field_0x20 & 0xf7" (field_expression "(pOVar25->super_Output_data).field_0x20" (parenthesized_expression "(pOVar25->super_Output_data)" ( (field_expression "pOVar25->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) | number_literal)) ;) (if_statement "if (local_34 << 0x1c < 0) {\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }" if (parenthesized_expression "(local_34 << 0x1c < 0)" ( (binary_expression "local_34 << 0x1c < 0" (binary_expression "local_34 << 0x1c" identifier << number_literal) < number_literal) )) (compound_statement "{\n                (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;\n              }" { (expression_statement "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;" (assignment_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_ =\n                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic.relative_reloc_count_" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                super_Output_data_reloc_generic" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) = (binary_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_ + 1" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic.relative_reloc_count_" (field_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>).\n                     super_Output_data_reloc_generic" (parenthesized_expression "(reloc_section->super_Output_data_reloc_base<9,_true,_64,_false>)" ( (comma_expression "reloc_section->super_Output_data_reloc_base<9,_true,_64,_false" (binary_expression "reloc_section->super_Output_data_reloc_base<9" (field_expression "reloc_section->super_Output_data_reloc_base" identifier -> field_identifier) < number_literal) , (comma_expression "_true,_64,_false" identifier , (comma_expression "_64,_false" identifier , identifier))) (ERROR ">" >) )) . field_identifier) . field_identifier) + number_literal)) ;) })) (if_statement "if ((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0)) {\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }" if (parenthesized_expression "((local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0))" ( (binary_expression "(local_30 != 0xfffffffc) && (local_44 != (Sized_relobj<64,_false> *)0x0))" (parenthesized_expression "(local_30 != 0xfffffffc)" ( (binary_expression "local_30 != 0xfffffffc" identifier != number_literal) )) && (parenthesized_expression "(local_44 != (Sized_relobj<64,_false> *)0x0))" ( (binary_expression "local_44 != (Sized_relobj<64,_false> *)0x0)" identifier != (parenthesized_expression "(Sized_relobj<64,_false> *)0x0)" ( (comma_expression "Sized_relobj<64,_false> *)0x0" (binary_expression "Sized_relobj<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) )) (compound_statement "{\n                uVar6 = (local_44->super_Relobj).dyn_reloc_count_;\n                if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }\n                pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;\n                (local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;\n                goto LAB_0015ab48;\n              }" { (expression_statement "uVar6 = (local_44->super_Relobj).dyn_reloc_count_;" (assignment_expression "uVar6 = (local_44->super_Relobj).dyn_reloc_count_" identifier = (field_expression "(local_44->super_Relobj).dyn_reloc_count_" (parenthesized_expression "(local_44->super_Relobj)" ( (field_expression "local_44->super_Relobj" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar6 == 0) {\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                  (local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;\n                }" { (expression_statement "(local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1;" (assignment_expression "(local_44->super_Relobj).first_dyn_reloc_ = iVar1 - 1" (field_expression "(local_44->super_Relobj).first_dyn_reloc_" (parenthesized_expression "(local_44->super_Relobj)" ( (field_expression "local_44->super_Relobj" identifier -> field_identifier) )) . field_identifier) = (binary_expression "iVar1 - 1" identifier - number_literal)) ;) })) (ERROR "pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::" (comma_expression "pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std" (binary_expression "pCVar5 = (this->entries_).\n                         super__Vector_base<gold::Copy_relocs<9" (assignment_expression "pCVar5 = (this->entries_).\n                         super__Vector_base<gold" identifier = (binary_expression "(this->entries_).\n                         super__Vector_base<gold" (field_expression "(this->entries_).\n                         super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Copy_relocs" : : identifier) < number_literal) , (comma_expression "_64,_false>::Copy_reloc_entry,_std" identifier , (comma_expression "_false>::Copy_reloc_entry,_std" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish;" (comma_expression "Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_64,_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish" identifier , (field_expression "_false>::Copy_reloc_entry>_>\n                         ._M_impl._M_finish" (field_expression "_false>::Copy_reloc_entry>_>\n                         ._M_impl" (binary_expression "_false>::Copy_reloc_entry>_" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier))) ;) (expression_statement "(local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1;" (assignment_expression "(local_44->super_Relobj).dyn_reloc_count_ = uVar6 + 1" (field_expression "(local_44->super_Relobj).dyn_reloc_count_" (parenthesized_expression "(local_44->super_Relobj)" ( (field_expression "local_44->super_Relobj" identifier -> field_identifier) )) . field_identifier) = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0015ab48;" goto statement_identifier ;) })) (goto_statement "goto LAB_0015abbc;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0xfb0" identifier + number_literal) ))) ;) })) (expression_statement "puVar15 = (undefined4 *)&DAT_000006d5;" (assignment_expression "puVar15 = (undefined4 *)&DAT_000006d5" identifier = (cast_expression "(undefined4 *)&DAT_000006d5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000006d5" & identifier))) ;) (expression_statement "puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104);" (assignment_expression "puVar16 = (undefined4 *)(PTR_s__s_004c1a50 + -0x1104)" identifier = (cast_expression "(undefined4 *)(PTR_s__s_004c1a50 + -0x1104)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s__s_004c1a50 + -0x1104)" ( (binary_expression "PTR_s__s_004c1a50 + -0x1104" identifier + number_literal) )))) ;) (expression_statement "puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);" (assignment_expression "puVar12 = (undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" identifier = (cast_expression "(undefined4 *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) )))) ;) (expression_statement "puVar24 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar24 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)();" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)()" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar21 = (undefined4 *)*puVar12;" (assignment_expression "puVar21 = (undefined4 *)*puVar12" identifier = (cast_expression "(undefined4 *)*puVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) (expression_statement "puVar20 = (undefined4 *)puVar12[1];" (assignment_expression "puVar20 = (undefined4 *)puVar12[1]" identifier = (cast_expression "(undefined4 *)puVar12[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = (int)puVar20 - (int)puVar21 >> 3;" (assignment_expression "iVar1 = (int)puVar20 - (int)puVar21 >> 3" identifier = (binary_expression "(int)puVar20 - (int)puVar21 >> 3" (binary_expression "(int)puVar20 - (int)puVar21" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "uVar6 = iVar1 * -0x33333333;" (assignment_expression "uVar6 = iVar1 * -0x33333333" identifier = (binary_expression "iVar1 * -0x33333333" identifier * number_literal)) ;) (if_statement "if (uVar6 == 0) {\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }\n          else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar7 = 1;\nLAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;\n          }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0015ae8c:\n            iVar1 = uVar7 * 0x28;" statement_identifier : (expression_statement "iVar1 = uVar7 * 0x28;" (assignment_expression "iVar1 = uVar7 * 0x28" identifier = (binary_expression "uVar7 * 0x28" identifier * number_literal)) ;)) }) (else_clause "else {\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }" else (compound_statement "{\n            uVar7 = iVar1 * -0x66666666;\n            if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }\n          }" { (expression_statement "uVar7 = iVar1 * -0x66666666;" (assignment_expression "uVar7 = iVar1 * -0x66666666" identifier = (binary_expression "iVar1 * -0x66666666" identifier * number_literal)) ;) (if_statement "if (uVar7 < uVar6) {\n              iVar1 = -0x10;\n            }\n            else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }" if (parenthesized_expression "(uVar7 < uVar6)" ( (binary_expression "uVar7 < uVar6" identifier < identifier) )) (compound_statement "{\n              iVar1 = -0x10;\n            }" { (expression_statement "iVar1 = -0x10;" (assignment_expression "iVar1 = -0x10" identifier = number_literal) ;) }) (else_clause "else {\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }" else (compound_statement "{\n              iVar1 = -0x10;\n              if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }\n            }" { (expression_statement "iVar1 = -0x10;" (assignment_expression "iVar1 = -0x10" identifier = number_literal) ;) (if_statement "if (uVar7 < 0x6666667) {\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }" if (parenthesized_expression "(uVar7 < 0x6666667)" ( (binary_expression "uVar7 < 0x6666667" identifier < number_literal) )) (compound_statement "{\n                puVar22 = (undefined4 *)&DAT_00000028;\n                if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }\n                goto LAB_0015ae8c;\n              }" { (expression_statement "puVar22 = (undefined4 *)&DAT_00000028;" (assignment_expression "puVar22 = (undefined4 *)&DAT_00000028" identifier = (cast_expression "(undefined4 *)&DAT_00000028" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000028" & identifier))) ;) (if_statement "if (uVar7 == 0) {\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar1 = 0;\n                  puVar3 = (undefined4 *)0x0;\n                  goto LAB_0015acb4;\n                }" { (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "puVar3 = (undefined4 *)0x0;" (assignment_expression "puVar3 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0015acb4;" goto statement_identifier ;) })) (goto_statement "goto LAB_0015ae8c;" goto statement_identifier ;) })) }))) }))) (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1);" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar24 + 0x366790))(iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar24 + 0x366790))(iVar1)" (parenthesized_expression "(**(code **)(puVar24 + 0x366790))" ( (pointer_expression "**(code **)(puVar24 + 0x366790)" * (pointer_expression "*(code **)(puVar24 + 0x366790)" * (cast_expression "(code **)(puVar24 + 0x366790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x366790)" ( (binary_expression "puVar24 + 0x366790" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))))) ;) (expression_statement "iVar1 = (int)puVar3 + iVar1;" (assignment_expression "iVar1 = (int)puVar3 + iVar1" identifier = (binary_expression "(int)puVar3 + iVar1" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "puVar22 = puVar3 + 10;" (assignment_expression "puVar22 = puVar3 + 10" identifier = (binary_expression "puVar3 + 10" identifier + number_literal)) ;) (labeled_statement "LAB_0015acb4:\n          puVar18 = puVar16;" statement_identifier : (expression_statement "puVar18 = puVar16;" (assignment_expression "puVar18 = puVar16" identifier = identifier) ;)) (expression_statement "puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21));" (assignment_expression "puVar11 = (undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21))" identifier = (cast_expression "(undefined4 *)((int)puVar3 + ((int)puVar15 - (int)puVar21))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + ((int)puVar15 - (int)puVar21))" ( (binary_expression "(int)puVar3 + ((int)puVar15 - (int)puVar21)" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)puVar15 - (int)puVar21)" ( (binary_expression "(int)puVar15 - (int)puVar21" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (do_statement "do {\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          } while (puVar18 != puVar16 + 8);" do (compound_statement "{\n            puVar10 = puVar11;\n            puVar9 = puVar18;\n            puVar18 = puVar9 + 4;\n            uVar13 = puVar9[1];\n            uVar8 = puVar9[2];\n            uVar4 = puVar9[3];\n            *puVar10 = *puVar9;\n            puVar10[1] = uVar13;\n            puVar10[2] = uVar8;\n            puVar10[3] = uVar4;\n            puVar11 = puVar10 + 4;\n          }" { (expression_statement "puVar10 = puVar11;" (assignment_expression "puVar10 = puVar11" identifier = identifier) ;) (expression_statement "puVar9 = puVar18;" (assignment_expression "puVar9 = puVar18" identifier = identifier) ;) (expression_statement "puVar18 = puVar9 + 4;" (assignment_expression "puVar18 = puVar9 + 4" identifier = (binary_expression "puVar9 + 4" identifier + number_literal)) ;) (expression_statement "uVar13 = puVar9[1];" (assignment_expression "uVar13 = puVar9[1]" identifier = (subscript_expression "puVar9[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = puVar9[2];" (assignment_expression "uVar8 = puVar9[2]" identifier = (subscript_expression "puVar9[2]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = puVar9[3];" (assignment_expression "uVar4 = puVar9[3]" identifier = (subscript_expression "puVar9[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar10 = *puVar9;" (assignment_expression "*puVar10 = *puVar9" (pointer_expression "*puVar10" * identifier) = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "puVar10[1] = uVar13;" (assignment_expression "puVar10[1] = uVar13" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[2] = uVar8;" (assignment_expression "puVar10[2] = uVar8" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[3] = uVar4;" (assignment_expression "puVar10[3] = uVar4" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11 = puVar10 + 4;" (assignment_expression "puVar11 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar18 != puVar16 + 8)" ( (binary_expression "puVar18 != puVar16 + 8" identifier != (binary_expression "puVar16 + 8" identifier + number_literal)) )) ;) (expression_statement "uVar4 = puVar9[5];" (assignment_expression "uVar4 = puVar9[5]" identifier = (subscript_expression "puVar9[5]" identifier [ number_literal ])) ;) (expression_statement "puVar10[4] = *puVar18;" (assignment_expression "puVar10[4] = *puVar18" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = (pointer_expression "*puVar18" * identifier)) ;) (expression_statement "puVar10[5] = uVar4;" (assignment_expression "puVar10[5] = uVar4" (subscript_expression "puVar10[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar16 = puVar21;" (assignment_expression "puVar16 = puVar21" identifier = identifier) ;) (expression_statement "puVar18 = puVar3;" (assignment_expression "puVar18 = puVar3" identifier = identifier) ;) (if_statement "if (puVar21 != puVar15) {\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }" if (parenthesized_expression "(puVar21 != puVar15)" ( (binary_expression "puVar21 != puVar15" identifier != identifier) )) (compound_statement "{\n            do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);\n            puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;\n          }" { (do_statement "do {\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar15 != puVar16);" do (compound_statement "{\n              puVar22 = puVar16;\n              puVar11 = puVar18;\n              do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar9[5];\n              puVar10[4] = *puVar22;\n              puVar10[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            }" { (expression_statement "puVar22 = puVar16;" (assignment_expression "puVar22 = puVar16" identifier = identifier) ;) (expression_statement "puVar11 = puVar18;" (assignment_expression "puVar11 = puVar18" identifier = identifier) ;) (do_statement "do {\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              } while (puVar22 != puVar16 + 8);" do (compound_statement "{\n                puVar10 = puVar11;\n                puVar9 = puVar22;\n                puVar22 = puVar9 + 4;\n                uVar13 = puVar9[1];\n                uVar8 = puVar9[2];\n                uVar4 = puVar9[3];\n                *puVar10 = *puVar9;\n                puVar10[1] = uVar13;\n                puVar10[2] = uVar8;\n                puVar10[3] = uVar4;\n                puVar11 = puVar10 + 4;\n              }" { (expression_statement "puVar10 = puVar11;" (assignment_expression "puVar10 = puVar11" identifier = identifier) ;) (expression_statement "puVar9 = puVar22;" (assignment_expression "puVar9 = puVar22" identifier = identifier) ;) (expression_statement "puVar22 = puVar9 + 4;" (assignment_expression "puVar22 = puVar9 + 4" identifier = (binary_expression "puVar9 + 4" identifier + number_literal)) ;) (expression_statement "uVar13 = puVar9[1];" (assignment_expression "uVar13 = puVar9[1]" identifier = (subscript_expression "puVar9[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = puVar9[2];" (assignment_expression "uVar8 = puVar9[2]" identifier = (subscript_expression "puVar9[2]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = puVar9[3];" (assignment_expression "uVar4 = puVar9[3]" identifier = (subscript_expression "puVar9[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar10 = *puVar9;" (assignment_expression "*puVar10 = *puVar9" (pointer_expression "*puVar10" * identifier) = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "puVar10[1] = uVar13;" (assignment_expression "puVar10[1] = uVar13" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[2] = uVar8;" (assignment_expression "puVar10[2] = uVar8" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10[3] = uVar4;" (assignment_expression "puVar10[3] = uVar4" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11 = puVar10 + 4;" (assignment_expression "puVar11 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar22 != puVar16 + 8)" ( (binary_expression "puVar22 != puVar16 + 8" identifier != (binary_expression "puVar16 + 8" identifier + number_literal)) )) ;) (expression_statement "puVar16 = puVar16 + 10;" (assignment_expression "puVar16 = puVar16 + 10" identifier = (binary_expression "puVar16 + 10" identifier + number_literal)) ;) (expression_statement "uVar4 = puVar9[5];" (assignment_expression "uVar4 = puVar9[5]" identifier = (subscript_expression "puVar9[5]" identifier [ number_literal ])) ;) (expression_statement "puVar10[4] = *puVar22;" (assignment_expression "puVar10[4] = *puVar22" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "puVar10[5] = uVar4;" (assignment_expression "puVar10[5] = uVar4" (subscript_expression "puVar10[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18 = puVar18 + 10;" (assignment_expression "puVar18 = puVar18 + 10" identifier = (binary_expression "puVar18 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar15 != puVar16)" ( (binary_expression "puVar15 != puVar16" identifier != identifier) )) ;) (expression_statement "puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10;" (assignment_expression "puVar22 = puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10" identifier = (binary_expression "puVar3 + ((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10" identifier + (binary_expression "((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2) * 10" (parenthesized_expression "((((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2)" ( (binary_expression "(((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff) + 2" (parenthesized_expression "(((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff)" ( (binary_expression "((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd &\n                                0x1fffffff" (binary_expression "((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3) * 0xccccccd" (parenthesized_expression "((uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3)" ( (binary_expression "(uint)((int)puVar15 + (-0x28 - (int)puVar21)) >> 3" (call_expression "(uint)((int)puVar15 + (-0x28 - (int)puVar21))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar15 + (-0x28 - (int)puVar21))" ( (binary_expression "(int)puVar15 + (-0x28 - (int)puVar21)" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-0x28 - (int)puVar21)" ( (binary_expression "-0x28 - (int)puVar21" number_literal - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) )) * number_literal) & number_literal) )) + number_literal) )) * number_literal))) ;) })) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (expression_statement "puVar18 = puVar22;" (assignment_expression "puVar18 = puVar22" identifier = identifier) ;) (if_statement "if (puVar20 != puVar15) {\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }" if (parenthesized_expression "(puVar20 != puVar15)" ( (binary_expression "puVar20 != puVar15" identifier != identifier) )) (compound_statement "{\n            do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);\n            puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;\n          }" { (do_statement "do {\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            } while (puVar20 != puVar16);" do (compound_statement "{\n              puVar11 = puVar16;\n              puVar9 = puVar18;\n              do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);\n              puVar16 = puVar16 + 10;\n              uVar4 = puVar10[5];\n              puVar17[4] = *puVar11;\n              puVar17[5] = uVar4;\n              puVar18 = puVar18 + 10;\n            }" { (expression_statement "puVar11 = puVar16;" (assignment_expression "puVar11 = puVar16" identifier = identifier) ;) (expression_statement "puVar9 = puVar18;" (assignment_expression "puVar9 = puVar18" identifier = identifier) ;) (do_statement "do {\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              } while (puVar11 != puVar16 + 8);" do (compound_statement "{\n                puVar17 = puVar9;\n                puVar10 = puVar11;\n                puVar11 = puVar10 + 4;\n                uVar13 = puVar10[1];\n                uVar8 = puVar10[2];\n                uVar4 = puVar10[3];\n                *puVar17 = *puVar10;\n                puVar17[1] = uVar13;\n                puVar17[2] = uVar8;\n                puVar17[3] = uVar4;\n                puVar9 = puVar17 + 4;\n              }" { (expression_statement "puVar17 = puVar9;" (assignment_expression "puVar17 = puVar9" identifier = identifier) ;) (expression_statement "puVar10 = puVar11;" (assignment_expression "puVar10 = puVar11" identifier = identifier) ;) (expression_statement "puVar11 = puVar10 + 4;" (assignment_expression "puVar11 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "uVar13 = puVar10[1];" (assignment_expression "uVar13 = puVar10[1]" identifier = (subscript_expression "puVar10[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = puVar10[2];" (assignment_expression "uVar8 = puVar10[2]" identifier = (subscript_expression "puVar10[2]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = puVar10[3];" (assignment_expression "uVar4 = puVar10[3]" identifier = (subscript_expression "puVar10[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar17 = *puVar10;" (assignment_expression "*puVar17 = *puVar10" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "puVar17[1] = uVar13;" (assignment_expression "puVar17[1] = uVar13" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = uVar8;" (assignment_expression "puVar17[2] = uVar8" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[3] = uVar4;" (assignment_expression "puVar17[3] = uVar4" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9 = puVar17 + 4;" (assignment_expression "puVar9 = puVar17 + 4" identifier = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar11 != puVar16 + 8)" ( (binary_expression "puVar11 != puVar16 + 8" identifier != (binary_expression "puVar16 + 8" identifier + number_literal)) )) ;) (expression_statement "puVar16 = puVar16 + 10;" (assignment_expression "puVar16 = puVar16 + 10" identifier = (binary_expression "puVar16 + 10" identifier + number_literal)) ;) (expression_statement "uVar4 = puVar10[5];" (assignment_expression "uVar4 = puVar10[5]" identifier = (subscript_expression "puVar10[5]" identifier [ number_literal ])) ;) (expression_statement "puVar17[4] = *puVar11;" (assignment_expression "puVar17[4] = *puVar11" (subscript_expression "puVar17[4]" identifier [ number_literal ]) = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "puVar17[5] = uVar4;" (assignment_expression "puVar17[5] = uVar4" (subscript_expression "puVar17[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18 = puVar18 + 10;" (assignment_expression "puVar18 = puVar18 + 10" identifier = (binary_expression "puVar18 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar20 != puVar16)" ( (binary_expression "puVar20 != puVar16" identifier != identifier) )) ;) (expression_statement "puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10;" (assignment_expression "puVar22 = puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10" identifier = (binary_expression "puVar22 + ((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10" identifier + (binary_expression "((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1) * 10" (parenthesized_expression "((((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1)" ( (binary_expression "(((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff) + 1" (parenthesized_expression "(((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff)" ( (binary_expression "((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd &\n                                 0x1fffffff" (binary_expression "((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3) * 0xccccccd" (parenthesized_expression "((uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3)" ( (binary_expression "(uint)((int)puVar20 + (-0x28 - (int)puVar15)) >> 3" (call_expression "(uint)((int)puVar20 + (-0x28 - (int)puVar15))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar20 + (-0x28 - (int)puVar15))" ( (binary_expression "(int)puVar20 + (-0x28 - (int)puVar15)" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-0x28 - (int)puVar15)" ( (binary_expression "-0x28 - (int)puVar15" number_literal - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) >> number_literal) )) * number_literal) & number_literal) )) + number_literal) )) * number_literal))) ;) })) (if_statement "if (puVar21 != (undefined4 *)0x0) {\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }" if (parenthesized_expression "(puVar21 != (undefined4 *)0x0)" ( (binary_expression "puVar21 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (**(code **)(puVar24 + 0x3666e4))(puVar21);\n          }" { (expression_statement "(**(code **)(puVar24 + 0x3666e4))(puVar21);" (call_expression "(**(code **)(puVar24 + 0x3666e4))(puVar21)" (parenthesized_expression "(**(code **)(puVar24 + 0x3666e4))" ( (pointer_expression "**(code **)(puVar24 + 0x3666e4)" * (pointer_expression "*(code **)(puVar24 + 0x3666e4)" * (cast_expression "(code **)(puVar24 + 0x3666e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x3666e4)" ( (binary_expression "puVar24 + 0x3666e4" identifier + number_literal) ))))) )) (argument_list "(puVar21)" ( identifier ))) ;) })) (expression_statement "*puVar12 = puVar3;" (assignment_expression "*puVar12 = puVar3" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = puVar22;" (assignment_expression "puVar12[1] = puVar22" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = iVar1;" (assignment_expression "puVar12[2] = iVar1" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "(*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1);" (call_expression "(*p_Var23)(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1)" (parenthesized_expression "(*p_Var23)" ( (pointer_expression "*p_Var23" * identifier) )) (argument_list "(reloc_section,pSVar14,pCVar19->reloc_type_,pOVar25,pCVar19->relobj_,\n                   pCVar19->shndx_,*(undefined4 *)&pCVar19->address_,(int)pCVar19->address_,\n                   *(int *)&pCVar19->addend_,iVar1)" ( identifier , identifier , (field_expression "pCVar19->reloc_type_" identifier -> field_identifier) , identifier , (field_expression "pCVar19->relobj_" identifier -> field_identifier) , (field_expression "pCVar19->shndx_" identifier -> field_identifier) , (pointer_expression "*(undefined4 *)&pCVar19->address_" * (cast_expression "(undefined4 *)&pCVar19->address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCVar19->address_" & (field_expression "pCVar19->address_" identifier -> field_identifier)))) , (cast_expression "(int)pCVar19->address_" ( (type_descriptor "int" primitive_type) ) (field_expression "pCVar19->address_" identifier -> field_identifier)) , (pointer_expression "*(int *)&pCVar19->addend_" * (cast_expression "(int *)&pCVar19->addend_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCVar19->addend_" & (field_expression "pCVar19->addend_" identifier -> field_identifier)))) , identifier ))) ;) (labeled_statement "LAB_0015abbc:\n        pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish;" statement_identifier : (ERROR "pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::" (comma_expression "pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std" (binary_expression "pCVar5 = (this->entries_).\n                 super__Vector_base<gold::Copy_relocs<9" (assignment_expression "pCVar5 = (this->entries_).\n                 super__Vector_base<gold" identifier = (binary_expression "(this->entries_).\n                 super__Vector_base<gold" (field_expression "(this->entries_).\n                 super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Copy_relocs" : : identifier) < number_literal) , (comma_expression "_64,_false>::Copy_reloc_entry,_std" identifier , (comma_expression "_false>::Copy_reloc_entry,_std" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish;" (comma_expression "Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_64,_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish" identifier , (field_expression "_false>::Copy_reloc_entry>_>\n                 ._M_impl._M_finish" (field_expression "_false>::Copy_reloc_entry>_>\n                 ._M_impl" (binary_expression "_false>::Copy_reloc_entry>_" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier))) ;)) })) (labeled_statement "LAB_0015ab48:\n      pCVar19 = pCVar19 + 1;" statement_identifier : (expression_statement "pCVar19 = pCVar19 + 1;" (assignment_expression "pCVar19 = pCVar19 + 1" identifier = (binary_expression "pCVar19 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(pCVar5 != pCVar19)" ( (binary_expression "pCVar5 != pCVar19" identifier != identifier) )) ;) (ERROR "pCVar19 = (this->entries_).\n              super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::" (comma_expression "pCVar19 = (this->entries_).\n              super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std" (binary_expression "pCVar19 = (this->entries_).\n              super__Vector_base<gold::Copy_relocs<9" (assignment_expression "pCVar19 = (this->entries_).\n              super__Vector_base<gold" identifier = (binary_expression "(this->entries_).\n              super__Vector_base<gold" (field_expression "(this->entries_).\n              super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Copy_relocs" : : identifier) < number_literal) , (comma_expression "_64,_false>::Copy_reloc_entry,_std" identifier , (comma_expression "_false>::Copy_reloc_entry,_std" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n              ._M_impl._M_start;" (comma_expression "Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n              ._M_impl._M_start" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_64,_false>::Copy_reloc_entry>_>\n              ._M_impl._M_start" identifier , (field_expression "_false>::Copy_reloc_entry>_>\n              ._M_impl._M_start" (field_expression "_false>::Copy_reloc_entry>_>\n              ._M_impl" (binary_expression "_false>::Copy_reloc_entry>_" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier))) ;) (if_statement "if (pCVar5 != pCVar19) {\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish = pCVar19;\n    }" if (parenthesized_expression "(pCVar5 != pCVar19)" ( (binary_expression "pCVar5 != pCVar19" identifier != identifier) )) (compound_statement "{\n      (this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish = pCVar19;\n    }" { (ERROR "(this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std::allocator<gold::" (comma_expression "(this->entries_).\n      super__Vector_base<gold::Copy_relocs<9,_64,_false>::Copy_reloc_entry,_std" (binary_expression "(this->entries_).\n      super__Vector_base<gold::Copy_relocs<9" (binary_expression "(this->entries_).\n      super__Vector_base<gold" (field_expression "(this->entries_).\n      super__Vector_base" (parenthesized_expression "(this->entries_)" ( (field_expression "this->entries_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Copy_relocs" : : identifier) < number_literal) , (comma_expression "_64,_false>::Copy_reloc_entry,_std" identifier , (comma_expression "_false>::Copy_reloc_entry,_std" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) , identifier))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish = pCVar19;" (comma_expression "Copy_relocs<9,_64,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish = pCVar19" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_64,_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish = pCVar19" identifier , (assignment_expression "_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish = pCVar19" (field_expression "_false>::Copy_reloc_entry>_>\n      ._M_impl._M_finish" (field_expression "_false>::Copy_reloc_entry>_>\n      ._M_impl" (binary_expression "_false>::Copy_reloc_entry>_" (binary_expression "_false>::Copy_reloc_entry" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier))) ;) })) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_0015a990(int *param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  undefined4 local_2c;\n  \n  puVar1 = PTR_add_global_generic_004c3558;\n  piVar3 = (int *)param_1[1];\n  piVar6 = (int *)*param_1;\n  if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_0015a990(int *param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  undefined4 local_2c;\n  \n  puVar1 = PTR_add_global_generic_004c3558;\n  piVar3 = (int *)param_1[1];\n  piVar6 = (int *)*param_1;\n  if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0015a990(int *param_1,int *param_2)" identifier (parameter_list "(int *param_1,int *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  undefined4 local_2c;\n  \n  puVar1 = PTR_add_global_generic_004c3558;\n  piVar3 = (int *)param_1[1];\n  piVar6 = (int *)*param_1;\n  if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_add_global_generic_004c3558;" (assignment_expression "puVar1 = PTR_add_global_generic_004c3558" identifier = identifier) ;) (expression_statement "piVar3 = (int *)param_1[1];" (assignment_expression "piVar3 = (int *)param_1[1]" identifier = (cast_expression "(int *)param_1[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar6 = (int *)*param_1;" (assignment_expression "piVar6 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (if_statement "if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }" if (parenthesized_expression "(piVar6 != piVar3)" ( (binary_expression "piVar6 != piVar3" identifier != identifier) )) (compound_statement "{\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }" { (do_statement "do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);" do (compound_statement "{\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    }" { (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }" if (parenthesized_expression "(((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0))" ( (binary_expression "((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)" (parenthesized_expression "((*(uint *)(iVar4 + 0x28) & 0xe000) == 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x28) & 0xe000) == 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x28) & 0xe000)" ( (binary_expression "*(uint *)(iVar4 + 0x28) & 0xe000" (pointer_expression "*(uint *)(iVar4 + 0x28)" * (cast_expression "(uint *)(iVar4 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)" ( (binary_expression "*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0" (pointer_expression "*(int *)(*(int *)(iVar4 + 8) + 0x2c)" * (cast_expression "(int *)(*(int *)(iVar4 + 8) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 8) + 0x2c)" ( (binary_expression "*(int *)(iVar4 + 8) + 0x2c" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) + number_literal) )))) < number_literal) ))) )) (compound_statement "{\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }" { (expression_statement "iVar7 = piVar6[4];" (assignment_expression "iVar7 = piVar6[4]" identifier = (subscript_expression "piVar6[4]" identifier [ number_literal ])) ;) (if_statement "if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }" if (parenthesized_expression "(*(code **)(*param_2 + 0x68) == (code *)puVar1)" ( (binary_expression "*(code **)(*param_2 + 0x68) == (code *)puVar1" (pointer_expression "*(code **)(*param_2 + 0x68)" * (cast_expression "(code **)(*param_2 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x68)" ( (binary_expression "*param_2 + 0x68" (pointer_expression "*param_2" * identifier) + number_literal) )))) == (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }" { (if_statement "if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }" if (parenthesized_expression "(piVar6[8] != 0 || piVar6[9] != 0)" ( (binary_expression "piVar6[8] != 0 || piVar6[9] != 0" (binary_expression "piVar6[8] != 0" (subscript_expression "piVar6[8]" identifier [ number_literal ]) != number_literal) || (binary_expression "piVar6[9] != 0" (subscript_expression "piVar6[9]" identifier [ number_literal ]) != number_literal)) )) (compound_statement "{\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x1104" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);" (call_expression "(*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3])" (parenthesized_expression "(*(code *)PTR_Output_reloc_004c1e90)" ( (pointer_expression "*(code *)PTR_Output_reloc_004c1e90" * (cast_expression "(code *)PTR_Output_reloc_004c1e90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3])" ( (pointer_expression "&local_48" & identifier) , identifier , (subscript_expression "piVar6[1]" identifier [ number_literal ]) , (subscript_expression "piVar6[2]" identifier [ number_literal ]) , (subscript_expression "piVar6[3]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar5 = (undefined4 *)param_2[0xf];" (assignment_expression "puVar5 = (undefined4 *)param_2[0xf]" identifier = (cast_expression "(undefined4 *)param_2[0xf]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xf]" identifier [ number_literal ]))) ;) (if_statement "if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }" if (parenthesized_expression "(puVar5 == (undefined4 *)param_2[0x10])" ( (binary_expression "puVar5 == (undefined4 *)param_2[0x10]" identifier == (cast_expression "(undefined4 *)param_2[0x10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x10]" identifier [ number_literal ]))) )) (compound_statement "{\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }" { (labeled_statement "std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);" statement_identifier (ERROR "::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,true,64,false>,std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>,std" true , (comma_expression "64,false>,std" number_literal , (binary_expression "false>,std" false > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>>>\n            ::_M_realloc_insert<gold" true , (comma_expression "64,false>>>\n            ::_M_realloc_insert<gold" number_literal , (binary_expression "false>>>\n            ::_M_realloc_insert<gold" (binary_expression "false>>>\n            ::_M_realloc_insert" false >> (ERROR ">\n            ::" > : :) identifier) < identifier)))) :) : (expression_statement "Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);" (comma_expression "Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" true , (comma_expression "64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" number_literal , (binary_expression "false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" (binary_expression "false>const" false > identifier) (ERROR "&" &) > (parenthesized_expression "((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" ( (comma_expression "(vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48" (call_expression "(vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe)" (parenthesized_expression "(vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)" ( (ERROR "vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_reloc<9,true,64,false>,std" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>,std" true , (comma_expression "64,false>,std" number_literal , (binary_expression "false>,std" false > (ERROR "," ,) identifier)))) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Output_reloc<9,true,64,false>>>\n                        *" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "true,64,false>>>\n                        *" true , (comma_expression "64,false>>>\n                        *" number_literal , (binary_expression "false>>>\n                        *" false >> (ERROR ">" >) (pointer_expression "*" * identifier))))) )) (argument_list "(param_2 + 0xe)" ( (binary_expression "param_2 + 0xe" identifier + number_literal) ))) , (comma_expression "puVar5,&local_48" identifier , (pointer_expression "&local_48" & identifier))) )))))) ;)) (expression_statement "puVar2 = (undefined4 *)param_2[0xf];" (assignment_expression "puVar2 = (undefined4 *)param_2[0xf]" identifier = (cast_expression "(undefined4 *)param_2[0xf]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xf]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }" else (compound_statement "{\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }" { (expression_statement "puVar2 = puVar5 + 8;" (assignment_expression "puVar2 = puVar5 + 8" identifier = (binary_expression "puVar5 + 8" identifier + number_literal)) ;) (expression_statement "puVar5[1] = local_44;" (assignment_expression "puVar5[1] = local_44" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = local_40;" (assignment_expression "puVar5[2] = local_40" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar5 = local_48;" (assignment_expression "*puVar5 = local_48" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "puVar5[3] = local_3c;" (assignment_expression "puVar5[3] = local_3c" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[4] = local_38;" (assignment_expression "puVar5[4] = local_38" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[5] = local_34;" (assignment_expression "puVar5[5] = local_34" (subscript_expression "puVar5[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[6] = local_30;" (assignment_expression "puVar5[6] = local_30" (subscript_expression "puVar5[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[7] = local_2c;" (assignment_expression "puVar5[7] = local_2c" (subscript_expression "puVar5[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0xf] = (int)puVar2;" (assignment_expression "param_2[0xf] = (int)puVar2" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "iVar4 = (int)puVar2 - param_2[0xe] >> 5;" (assignment_expression "iVar4 = (int)puVar2 - param_2[0xe] >> 5" identifier = (binary_expression "(int)puVar2 - param_2[0xe] >> 5" (binary_expression "(int)puVar2 - param_2[0xe]" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "param_2[0xe]" identifier [ number_literal ])) >> number_literal)) ;) (if_statement "if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }" if (parenthesized_expression "(param_2[8] << 1 < 0)" ( (binary_expression "param_2[8] << 1 < 0" (binary_expression "param_2[8] << 1" (subscript_expression "param_2[8]" identifier [ number_literal ]) << number_literal) < number_literal) )) (compound_statement "{\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0xfb0" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "param_2[4] = 0;" (assignment_expression "param_2[4] = 0" (subscript_expression "param_2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[5] = iVar4 << 4;" (assignment_expression "param_2[5] = iVar4 << 4" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (binary_expression "iVar4 << 4" identifier << number_literal)) ;) (expression_statement "*(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;" (assignment_expression "*(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8" (pointer_expression "*(byte *)(iVar7 + 0x20)" * (cast_expression "(byte *)(iVar7 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar7 + 0x20) & 0xf7 | 8" (binary_expression "*(byte *)(iVar7 + 0x20) & 0xf7" (pointer_expression "*(byte *)(iVar7 + 0x20)" * (cast_expression "(byte *)(iVar7 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (if_statement "if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }" if (parenthesized_expression "(local_34 << 0x1c < 0)" ( (binary_expression "local_34 << 0x1c < 0" (binary_expression "local_34 << 0x1c" identifier << number_literal) < number_literal) )) (compound_statement "{\n            param_2[0xc] = param_2[0xc] + 1;\n          }" { (expression_statement "param_2[0xc] = param_2[0xc] + 1;" (assignment_expression "param_2[0xc] = param_2[0xc] + 1" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) = (binary_expression "param_2[0xc] + 1" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) + number_literal)) ;) })) (if_statement "if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }" if (parenthesized_expression "((local_30 != -4) && (local_44 != 0))" ( (binary_expression "(local_30 != -4) && (local_44 != 0)" (parenthesized_expression "(local_30 != -4)" ( (binary_expression "local_30 != -4" identifier != number_literal) )) && (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) ))) )) (compound_statement "{\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }" { (if_statement "if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }" if (parenthesized_expression "(*(int *)(local_44 + 100) == 0)" ( (binary_expression "*(int *)(local_44 + 100) == 0" (pointer_expression "*(int *)(local_44 + 100)" * (cast_expression "(int *)(local_44 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 100)" ( (binary_expression "local_44 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }" { (expression_statement "*(int *)(local_44 + 0x60) = iVar4 + -1;" (assignment_expression "*(int *)(local_44 + 0x60) = iVar4 + -1" (pointer_expression "*(int *)(local_44 + 0x60)" * (cast_expression "(int *)(local_44 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 0x60)" ( (binary_expression "local_44 + 0x60" identifier + number_literal) )))) = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) })) (expression_statement "piVar3 = (int *)param_1[1];" (assignment_expression "piVar3 = (int *)param_1[1]" identifier = (cast_expression "(int *)param_1[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "*(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;" (assignment_expression "*(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1" (pointer_expression "*(int *)(local_44 + 100)" * (cast_expression "(int *)(local_44 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 100)" ( (binary_expression "local_44 + 100" identifier + number_literal) )))) = (binary_expression "*(int *)(local_44 + 100) + 1" (pointer_expression "*(int *)(local_44 + 100)" * (cast_expression "(int *)(local_44 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 100)" ( (binary_expression "local_44 + 100" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_0015ab48;" goto statement_identifier ;) })) }) (else_clause "else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }" else (compound_statement "{\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }" { (expression_statement "(**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);" (call_expression "(**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9])" (parenthesized_expression "(**(code **)(*param_2 + 0x68))" ( (pointer_expression "**(code **)(*param_2 + 0x68)" * (pointer_expression "*(code **)(*param_2 + 0x68)" * (cast_expression "(code **)(*param_2 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_2 + 0x68)" ( (binary_expression "*param_2 + 0x68" (pointer_expression "*param_2" * identifier) + number_literal) ))))) )) (argument_list "(param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9])" ( identifier , identifier , (subscript_expression "piVar6[1]" identifier [ number_literal ]) , identifier , (subscript_expression "piVar6[2]" identifier [ number_literal ]) , (subscript_expression "piVar6[3]" identifier [ number_literal ]) , (subscript_expression "piVar6[6]" identifier [ number_literal ]) , (subscript_expression "piVar6[7]" identifier [ number_literal ]) , (subscript_expression "piVar6[8]" identifier [ number_literal ]) , (subscript_expression "piVar6[9]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "piVar3 = (int *)param_1[1];" (assignment_expression "piVar3 = (int *)param_1[1]" identifier = (cast_expression "(int *)param_1[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_0015ab48:\n      piVar6 = piVar6 + 10;" statement_identifier : (expression_statement "piVar6 = piVar6 + 10;" (assignment_expression "piVar6 = piVar6 + 10" identifier = (binary_expression "piVar6 + 10" identifier + number_literal)) ;)) }) while (parenthesized_expression "(piVar3 != piVar6)" ( (binary_expression "piVar3 != piVar6" identifier != identifier) )) ;) (if_statement "if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }" if (parenthesized_expression "(piVar3 != (int *)*param_1)" ( (binary_expression "piVar3 != (int *)*param_1" identifier != (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) )) (compound_statement "{\n      param_1[1] = *param_1;\n    }" { (expression_statement "param_1[1] = *param_1;" (assignment_expression "param_1[1] = *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (pointer_expression "*param_1" * identifier)) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (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) )))) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (binary_expression (subscript_expression IDENT [ LIT ]) != LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression BOOL , (comma_expression LIT , (binary_expression BOOL > (ERROR ,) IDENT)))) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression BOOL , (comma_expression LIT , (binary_expression (binary_expression BOOL >> (ERROR > : :) IDENT) < IDENT)))) :) : (expression_statement (comma_expression (binary_expression IDENT < LIT) , (comma_expression BOOL , (comma_expression LIT , (binary_expression (binary_expression BOOL > IDENT) (ERROR &) > (parenthesized_expression ( (comma_expression (call_expression (parenthesized_expression ( (ERROR (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < LIT) , (comma_expression BOOL , (comma_expression LIT , (binary_expression BOOL > (ERROR ,) IDENT)))) : : (binary_expression IDENT < IDENT) : :) (comma_expression (binary_expression IDENT < LIT) , (comma_expression BOOL , (comma_expression LIT , (binary_expression BOOL >> (ERROR >) (pointer_expression * IDENT))))) )) (argument_list ( (binary_expression IDENT + LIT) ))) , (comma_expression IDENT , (pointer_expression & IDENT))) )))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ])) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (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 , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) })) })) (return_statement return ;) })))
(function_definition "void FUN_0015a990(int *param_1,int *param_2)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  undefined4 local_2c;\n  \n  puVar1 = PTR_add_global_generic_004c3558;\n  piVar3 = (int *)param_1[1];\n  piVar6 = (int *)*param_1;\n  if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0015a990(int *param_1,int *param_2)" (identifier "FUN_0015a990") (parameter_list "(int *param_1,int *param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 local_48;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int local_30;\n  undefined4 local_2c;\n  \n  puVar1 = PTR_add_global_generic_004c3558;\n  piVar3 = (int *)param_1[1];\n  piVar6 = (int *)*param_1;\n  if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (expression_statement "puVar1 = PTR_add_global_generic_004c3558;" (assignment_expression "puVar1 = PTR_add_global_generic_004c3558" (identifier "puVar1") (= "=") (identifier "PTR_add_global_generic_004c3558")) (; ";")) (expression_statement "piVar3 = (int *)param_1[1];" (assignment_expression "piVar3 = (int *)param_1[1]" (identifier "piVar3") (= "=") (cast_expression "(int *)param_1[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "piVar6 = (int *)*param_1;" (assignment_expression "piVar6 = (int *)*param_1" (identifier "piVar6") (= "=") (cast_expression "(int *)*param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (if_statement "if (piVar6 != piVar3) {\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }" (if "if") (parenthesized_expression "(piVar6 != piVar3)" (( "(") (binary_expression "piVar6 != piVar3" (identifier "piVar6") (!= "!=") (identifier "piVar3")) () ")")) (compound_statement "{\n    do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);\n    if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }\n  }" ({ "{") (do_statement "do {\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    } while (piVar3 != piVar6);" (do "do") (compound_statement "{\n      iVar4 = *piVar6;\n      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }\nLAB_0015ab48:\n      piVar6 = piVar6 + 10;\n    }" ({ "{") (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" (identifier "iVar4") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (if_statement "if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }" (if "if") (parenthesized_expression "(((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0))" (( "(") (binary_expression "((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)" (parenthesized_expression "((*(uint *)(iVar4 + 0x28) & 0xe000) == 0)" (( "(") (binary_expression "(*(uint *)(iVar4 + 0x28) & 0xe000) == 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x28) & 0xe000)" (( "(") (binary_expression "*(uint *)(iVar4 + 0x28) & 0xe000" (pointer_expression "*(uint *)(iVar4 + 0x28)" (* "*") (cast_expression "(uint *)(iVar4 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)" (( "(") (binary_expression "*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0" (pointer_expression "*(int *)(*(int *)(iVar4 + 8) + 0x2c)" (* "*") (cast_expression "(int *)(*(int *)(iVar4 + 8) + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar4 + 8) + 0x2c)" (( "(") (binary_expression "*(int *)(iVar4 + 8) + 0x2c" (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (< "<") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar7 = piVar6[4];\n        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }\n        piVar3 = (int *)param_1[1];\n      }" ({ "{") (expression_statement "iVar7 = piVar6[4];" (assignment_expression "iVar7 = piVar6[4]" (identifier "iVar7") (= "=") (subscript_expression "piVar6[4]" (identifier "piVar6") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }\n        else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }" (if "if") (parenthesized_expression "(*(code **)(*param_2 + 0x68) == (code *)puVar1)" (( "(") (binary_expression "*(code **)(*param_2 + 0x68) == (code *)puVar1" (pointer_expression "*(code **)(*param_2 + 0x68)" (* "*") (cast_expression "(code **)(*param_2 + 0x68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x68)" (( "(") (binary_expression "*param_2 + 0x68" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x68")) () ")")))) (== "==") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (compound_statement "{\n          if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }\n          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);\n          puVar5 = (undefined4 *)param_2[0xf];\n          if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }\n          iVar4 = (int)puVar2 - param_2[0xe] >> 5;\n          if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }\n          param_2[4] = 0;\n          param_2[5] = iVar4 << 4;\n          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;\n          if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }\n          if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }\n        }" ({ "{") (if_statement "if (piVar6[8] != 0 || piVar6[9] != 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }" (if "if") (parenthesized_expression "(piVar6[8] != 0 || piVar6[9] != 0)" (( "(") (binary_expression "piVar6[8] != 0 || piVar6[9] != 0" (binary_expression "piVar6[8] != 0" (subscript_expression "piVar6[8]" (identifier "piVar6") ([ "[") (number_literal "8") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "piVar6[9] != 0" (subscript_expression "piVar6[9]" (identifier "piVar6") ([ "[") (number_literal "9") (] "]")) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);\n            return;\n          }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,\n                       PTR_s__s_004c1a50 + -0x1104)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0x6d5") (, ",") (binary_expression "PTR_s__s_004c1a50 + -0x1104" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x1104")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);" (call_expression "(*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3])" (parenthesized_expression "(*(code *)PTR_Output_reloc_004c1e90)" (( "(") (pointer_expression "*(code *)PTR_Output_reloc_004c1e90" (* "*") (cast_expression "(code *)PTR_Output_reloc_004c1e90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_Output_reloc_004c1e90"))) () ")")) (argument_list "(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3])" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "iVar4") (, ",") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "piVar6[2]" (identifier "piVar6") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "piVar6[3]" (identifier "piVar6") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (expression_statement "puVar5 = (undefined4 *)param_2[0xf];" (assignment_expression "puVar5 = (undefined4 *)param_2[0xf]" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)param_2[0xf]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (if_statement "if (puVar5 == (undefined4 *)param_2[0x10]) {\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }\n          else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }" (if "if") (parenthesized_expression "(puVar5 == (undefined4 *)param_2[0x10])" (( "(") (binary_expression "puVar5 == (undefined4 *)param_2[0x10]" (identifier "puVar5") (== "==") (cast_expression "(undefined4 *)param_2[0x10]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")))) () ")")) (compound_statement "{\n            std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);\n            puVar2 = (undefined4 *)param_2[0xf];\n          }" ({ "{") (labeled_statement "std::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);" (statement_identifier "std") (ERROR "::\n            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold:" (: ":") (: ":") (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Output_reloc<9,true,64,false>,std" (binary_expression "Output_reloc<9" (identifier "Output_reloc") (< "<") (number_literal "9")) (, ",") (comma_expression "true,64,false>,std" (true "true") (, ",") (comma_expression "64,false>,std" (number_literal "64") (, ",") (binary_expression "false>,std" (false "false") (> ">") (ERROR "," (, ",")) (identifier "std"))))) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Output_reloc<9,true,64,false>>>\n            ::_M_realloc_insert<gold" (binary_expression "Output_reloc<9" (identifier "Output_reloc") (< "<") (number_literal "9")) (, ",") (comma_expression "true,64,false>>>\n            ::_M_realloc_insert<gold" (true "true") (, ",") (comma_expression "64,false>>>\n            ::_M_realloc_insert<gold" (number_literal "64") (, ",") (binary_expression "false>>>\n            ::_M_realloc_insert<gold" (binary_expression "false>>>\n            ::_M_realloc_insert" (false "false") (>> ">>") (ERROR ">\n            ::" (> ">") (: ":") (: ":")) (identifier "_M_realloc_insert")) (< "<") (identifier "gold"))))) (: ":")) (: ":") (expression_statement "Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48);" (comma_expression "Output_reloc<9,true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" (binary_expression "Output_reloc<9" (identifier "Output_reloc") (< "<") (number_literal "9")) (, ",") (comma_expression "true,64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" (true "true") (, ",") (comma_expression "64,false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" (number_literal "64") (, ",") (binary_expression "false>const&>\n                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" (binary_expression "false>const" (false "false") (> ">") (identifier "const")) (ERROR "&" (& "&")) (> ">") (parenthesized_expression "((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48)" (( "(") (comma_expression "(vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe),puVar5,&local_48" (call_expression "(vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)(param_2 + 0xe)" (parenthesized_expression "(vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>\n                        *)" (( "(") (ERROR "vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::" (binary_expression "vector<gold" (identifier "vector") (< "<") (identifier "gold")) (: ":") (: ":") (comma_expression "Output_reloc<9,true,64,false>,std" (binary_expression "Output_reloc<9" (identifier "Output_reloc") (< "<") (number_literal "9")) (, ",") (comma_expression "true,64,false>,std" (true "true") (, ",") (comma_expression "64,false>,std" (number_literal "64") (, ",") (binary_expression "false>,std" (false "false") (> ">") (ERROR "," (, ",")) (identifier "std"))))) (: ":") (: ":") (binary_expression "allocator<gold" (identifier "allocator") (< "<") (identifier "gold")) (: ":") (: ":")) (comma_expression "Output_reloc<9,true,64,false>>>\n                        *" (binary_expression "Output_reloc<9" (identifier "Output_reloc") (< "<") (number_literal "9")) (, ",") (comma_expression "true,64,false>>>\n                        *" (true "true") (, ",") (comma_expression "64,false>>>\n                        *" (number_literal "64") (, ",") (binary_expression "false>>>\n                        *" (false "false") (>> ">>") (ERROR ">" (> ">")) (pointer_expression "*" (* "*") (identifier "")))))) () ")")) (argument_list "(param_2 + 0xe)" (( "(") (binary_expression "param_2 + 0xe" (identifier "param_2") (+ "+") (number_literal "0xe")) () ")"))) (, ",") (comma_expression "puVar5,&local_48" (identifier "puVar5") (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")))) () ")")))))) (; ";"))) (expression_statement "puVar2 = (undefined4 *)param_2[0xf];" (assignment_expression "puVar2 = (undefined4 *)param_2[0xf]" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)param_2[0xf]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }" (else "else") (compound_statement "{\n            puVar2 = puVar5 + 8;\n            puVar5[1] = local_44;\n            puVar5[2] = local_40;\n            *puVar5 = local_48;\n            puVar5[3] = local_3c;\n            puVar5[4] = local_38;\n            puVar5[5] = local_34;\n            puVar5[6] = local_30;\n            puVar5[7] = local_2c;\n            param_2[0xf] = (int)puVar2;\n          }" ({ "{") (expression_statement "puVar2 = puVar5 + 8;" (assignment_expression "puVar2 = puVar5 + 8" (identifier "puVar2") (= "=") (binary_expression "puVar5 + 8" (identifier "puVar5") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar5[1] = local_44;" (assignment_expression "puVar5[1] = local_44" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_44")) (; ";")) (expression_statement "puVar5[2] = local_40;" (assignment_expression "puVar5[2] = local_40" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*puVar5 = local_48;" (assignment_expression "*puVar5 = local_48" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "puVar5[3] = local_3c;" (assignment_expression "puVar5[3] = local_3c" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "puVar5[4] = local_38;" (assignment_expression "puVar5[4] = local_38" (subscript_expression "puVar5[4]" (identifier "puVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "puVar5[5] = local_34;" (assignment_expression "puVar5[5] = local_34" (subscript_expression "puVar5[5]" (identifier "puVar5") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "puVar5[6] = local_30;" (assignment_expression "puVar5[6] = local_30" (subscript_expression "puVar5[6]" (identifier "puVar5") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "puVar5[7] = local_2c;" (assignment_expression "puVar5[7] = local_2c" (subscript_expression "puVar5[7]" (identifier "puVar5") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "param_2[0xf] = (int)puVar2;" (assignment_expression "param_2[0xf] = (int)puVar2" (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2"))) (; ";")) (} "}")))) (expression_statement "iVar4 = (int)puVar2 - param_2[0xe] >> 5;" (assignment_expression "iVar4 = (int)puVar2 - param_2[0xe] >> 5" (identifier "iVar4") (= "=") (binary_expression "(int)puVar2 - param_2[0xe] >> 5" (binary_expression "(int)puVar2 - param_2[0xe]" (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")) (- "-") (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]"))) (>> ">>") (number_literal "5"))) (; ";")) (if_statement "if (param_2[8] << 1 < 0) {\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }" (if "if") (parenthesized_expression "(param_2[8] << 1 < 0)" (( "(") (binary_expression "param_2[8] << 1 < 0" (binary_expression "param_2[8] << 1" (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);\n            return;\n          }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,\n                       PTR_s__s_004c1a50 + -0xfb0)" (( "(") (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 + -0xfb0" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0xfb0")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "param_2[4] = 0;" (assignment_expression "param_2[4] = 0" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[5] = iVar4 << 4;" (assignment_expression "param_2[5] = iVar4 << 4" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "iVar4 << 4" (identifier "iVar4") (<< "<<") (number_literal "4"))) (; ";")) (expression_statement "*(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;" (assignment_expression "*(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8" (pointer_expression "*(byte *)(iVar7 + 0x20)" (* "*") (cast_expression "(byte *)(iVar7 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar7 + 0x20) & 0xf7 | 8" (binary_expression "*(byte *)(iVar7 + 0x20) & 0xf7" (pointer_expression "*(byte *)(iVar7 + 0x20)" (* "*") (cast_expression "(byte *)(iVar7 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "0xf7")) (| "|") (number_literal "8"))) (; ";")) (if_statement "if (local_34 << 0x1c < 0) {\n            param_2[0xc] = param_2[0xc] + 1;\n          }" (if "if") (parenthesized_expression "(local_34 << 0x1c < 0)" (( "(") (binary_expression "local_34 << 0x1c < 0" (binary_expression "local_34 << 0x1c" (identifier "local_34") (<< "<<") (number_literal "0x1c")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            param_2[0xc] = param_2[0xc] + 1;\n          }" ({ "{") (expression_statement "param_2[0xc] = param_2[0xc] + 1;" (assignment_expression "param_2[0xc] = param_2[0xc] + 1" (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (binary_expression "param_2[0xc] + 1" (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((local_30 != -4) && (local_44 != 0)) {\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }" (if "if") (parenthesized_expression "((local_30 != -4) && (local_44 != 0))" (( "(") (binary_expression "(local_30 != -4) && (local_44 != 0)" (parenthesized_expression "(local_30 != -4)" (( "(") (binary_expression "local_30 != -4" (identifier "local_30") (!= "!=") (number_literal "-4")) () ")")) (&& "&&") (parenthesized_expression "(local_44 != 0)" (( "(") (binary_expression "local_44 != 0" (identifier "local_44") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }\n            piVar3 = (int *)param_1[1];\n            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;\n            goto LAB_0015ab48;\n          }" ({ "{") (if_statement "if (*(int *)(local_44 + 100) == 0) {\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }" (if "if") (parenthesized_expression "(*(int *)(local_44 + 100) == 0)" (( "(") (binary_expression "*(int *)(local_44 + 100) == 0" (pointer_expression "*(int *)(local_44 + 100)" (* "*") (cast_expression "(int *)(local_44 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_44 + 100)" (( "(") (binary_expression "local_44 + 100" (identifier "local_44") (+ "+") (number_literal "100")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(int *)(local_44 + 0x60) = iVar4 + -1;\n            }" ({ "{") (expression_statement "*(int *)(local_44 + 0x60) = iVar4 + -1;" (assignment_expression "*(int *)(local_44 + 0x60) = iVar4 + -1" (pointer_expression "*(int *)(local_44 + 0x60)" (* "*") (cast_expression "(int *)(local_44 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_44 + 0x60)" (( "(") (binary_expression "local_44 + 0x60" (identifier "local_44") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (expression_statement "piVar3 = (int *)param_1[1];" (assignment_expression "piVar3 = (int *)param_1[1]" (identifier "piVar3") (= "=") (cast_expression "(int *)param_1[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "*(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;" (assignment_expression "*(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1" (pointer_expression "*(int *)(local_44 + 100)" (* "*") (cast_expression "(int *)(local_44 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_44 + 100)" (( "(") (binary_expression "local_44 + 100" (identifier "local_44") (+ "+") (number_literal "100")) () ")")))) (= "=") (binary_expression "*(int *)(local_44 + 100) + 1" (pointer_expression "*(int *)(local_44 + 100)" (* "*") (cast_expression "(int *)(local_44 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_44 + 100)" (( "(") (binary_expression "local_44 + 100" (identifier "local_44") (+ "+") (number_literal "100")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0015ab48;" (goto "goto") (statement_identifier "LAB_0015ab48") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }" (else "else") (compound_statement "{\n          (**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);\n        }" ({ "{") (expression_statement "(**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9]);" (call_expression "(**(code **)(*param_2 + 0x68))\n                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9])" (parenthesized_expression "(**(code **)(*param_2 + 0x68))" (( "(") (pointer_expression "**(code **)(*param_2 + 0x68)" (* "*") (pointer_expression "*(code **)(*param_2 + 0x68)" (* "*") (cast_expression "(code **)(*param_2 + 0x68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_2 + 0x68)" (( "(") (binary_expression "*param_2 + 0x68" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x68")) () ")"))))) () ")")) (argument_list "(param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]\n                     ,piVar6[9])" (( "(") (identifier "param_2") (, ",") (identifier "iVar4") (, ",") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "iVar7") (, ",") (subscript_expression "piVar6[2]" (identifier "piVar6") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "piVar6[3]" (identifier "piVar6") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar6[6]" (identifier "piVar6") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "piVar6[7]" (identifier "piVar6") ([ "[") (number_literal "7") (] "]")) (, ",") (subscript_expression "piVar6[8]" (identifier "piVar6") ([ "[") (number_literal "8") (] "]")) (, ",") (subscript_expression "piVar6[9]" (identifier "piVar6") ([ "[") (number_literal "9") (] "]")) () ")"))) (; ";")) (} "}")))) (expression_statement "piVar3 = (int *)param_1[1];" (assignment_expression "piVar3 = (int *)param_1[1]" (identifier "piVar3") (= "=") (cast_expression "(int *)param_1[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))) (labeled_statement "LAB_0015ab48:\n      piVar6 = piVar6 + 10;" (statement_identifier "LAB_0015ab48") (: ":") (expression_statement "piVar6 = piVar6 + 10;" (assignment_expression "piVar6 = piVar6 + 10" (identifier "piVar6") (= "=") (binary_expression "piVar6 + 10" (identifier "piVar6") (+ "+") (number_literal "10"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(piVar3 != piVar6)" (( "(") (binary_expression "piVar3 != piVar6" (identifier "piVar3") (!= "!=") (identifier "piVar6")) () ")")) (; ";")) (if_statement "if (piVar3 != (int *)*param_1) {\n      param_1[1] = *param_1;\n    }" (if "if") (parenthesized_expression "(piVar3 != (int *)*param_1)" (( "(") (binary_expression "piVar3 != (int *)*param_1" (identifier "piVar3") (!= "!=") (cast_expression "(int *)*param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) () ")")) (compound_statement "{\n      param_1[1] = *param_1;\n    }" ({ "{") (expression_statement "param_1[1] = *param_1;" (assignment_expression "param_1[1] = *param_1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void emit(Copy_relocs<9,_64,_false> * this,
   Output_data_reloc<9,_true,_64,_false> * reloc_section) */

void __thiscall
var_2::var_17<9,_64,var_11>::emit
          (var_17<9,_64,var_11> *this,Output_data_reloc<9,_true,_64,var_11> *reloc_section)

{
  int var_9;
  type_1 pOVar2;
  type_2 *var_22;
  type_2 uVar4;
  type_1 var_6;
  type_3 var_16;
  type_3 var_20;
  type_2 uVar8;
  type_2 *var_23;
  type_2 *var_24;
  type_2 *var_32;
  type_2 *puVar12;
  type_2 uVar13;
  type_4 *pSVar14;
  type_5 __position;
  type_2 *var_28;
  type_2 *var_26;
  type_2 *var_31;
  type_2 *var_25;
  type_1 var_5;
  type_2 *var_30;
  type_2 *var_27;
  type_2 *var_29;
  type_6 *var_8;
  type_7 *var_21;
  type_8 *pOVar25;
  type_9 var_12;
  var_1<64,var_11> *var_15;
  type_2 local_40;
  type_2 local_3c;
  type_3 local_38;
  int var_13;
  type_3 var_14;
  type_2 local_2c;
  
  var_21 = PTR_add_global_generic_004c3558;
  var_6 = (this->entries_).
           super__Vector_base<var_2::var_17<9,_64,var_11>::var_3,var_7::allocator<var_2::var_17<9,_64,var_11>::var_3>var_4>
           ._M_impl._M_finish;
  var_5 = (this->entries_).
            super__Vector_base<var_2::var_17<9,_64,var_11>::var_3,var_7::allocator<var_2::var_17<9,_64,var_11>::var_3>var_4>
            ._M_impl._M_start;
  if (var_5 != var_6) {
    do {
      pSVar14 = var_5->sym_;
      if (((*(type_3 *)&pSVar14->field_0x28 & 0xe000) == 0) &&
         ((int)((pSVar14->u1_).output_segment)->output_lists_[3].
               super__Vector_base<var_2::Output_data*,var_7::allocator<var_2::Output_data*>var_4>._M_impl.
               _M_end_of_storage < 0)) {
        pOVar25 = var_5->output_section_;
        var_8 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).
                  super_Output_data_reloc_generic.super_Output_section_data_build.
                  super_Output_section_data.super_Output_data._vptr_Output_data[0x1a];
        var_9 = (int)var_5->addend_;
        if (var_8 == (type_6 *)var_21) {
          if (*(int *)&var_5->addend_ == 0 && var_9 == 0) {
            (*(type_10 *)PTR_Output_reloc_004c1e90)
                      (&var_12,pSVar14,var_5->reloc_type_,var_5->relobj_,var_5->shndx_);
            __position._M_current =
                 (reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).relocs_.
                 super__Vector_base<var_2::var_10<9,_true,_64,var_11>,var_7::allocator<var_2::var_10<9,_true,_64,var_11>var_4>var_4>
                 ._M_impl._M_finish;
            if (__position._M_current ==
                (reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).relocs_.
                super__Vector_base<var_2::var_10<9,_true,_64,var_11>,var_7::allocator<var_2::var_10<9,_true,_64,var_11>var_4>var_4>
                ._M_impl._M_end_of_storage) {
              std::
              vector<var_2::var_10<9,_true,_64,var_11>,var_7::allocator<var_2::var_10<9,_true,_64,var_11>var_4>var_4>
              ::_M_realloc_insert<const_gold::var_10<9,_true,_64,var_11>&>
                        (&(reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).relocs_,
                         __position,(var_10<9,_true,_64,var_11> *)&var_12);
              pOVar2 = (reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).relocs_.
                       super__Vector_base<var_2::var_10<9,_true,_64,var_11>,var_7::allocator<var_2::var_10<9,_true,_64,var_11>var_4>var_4>
                       ._M_impl._M_finish;
            }
            else {
              pOVar2 = __position._M_current + 1;
              ((__position._M_current)->u2_).relobj = var_15;
              *(type_2 *)&(__position._M_current)->address_ = local_40;
              (__position._M_current)->u1_ = var_12;
              *(type_2 *)((int)&(__position._M_current)->address_ + 4) = local_3c;
              (__position._M_current)->local_sym_index_ = local_38;
              *(int *)&(__position._M_current)->field_0x14 = var_13;
              (__position._M_current)->shndx_ = var_14;
              *(type_2 *)&(__position._M_current)->field_0x1c = local_2c;
              (reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).relocs_.
              super__Vector_base<var_2::var_10<9,_true,_64,var_11>,var_7::allocator<var_2::var_10<9,_true,_64,var_11>var_4>var_4>
              ._M_impl._M_finish = pOVar2;
            }
            var_9 = (int)pOVar2 -
                    (int)(reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).relocs_.
                         super__Vector_base<var_2::var_10<9,_true,_64,var_11>,var_7::allocator<var_2::var_10<9,_true,_64,var_11>var_4>var_4>
                         ._M_impl._M_start >> 5;
            if (-1 < *(int *)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).
                              super_Output_data_reloc_generic.super_Output_section_data_build.
                              super_Output_section_data.super_Output_data.field_0x20 << 1) {
              *(type_2 *)
               &(reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).
                super_Output_data_reloc_generic.super_Output_section_data_build.
                super_Output_section_data.super_Output_data.data_size_ = 0;
              *(int *)((int)&(reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).
                             super_Output_data_reloc_generic.super_Output_section_data_build.
                             super_Output_section_data.super_Output_data.data_size_ + 4) =
                   var_9 << 4;
              (pOVar25->super_Output_data).field_0x20 =
                   (pOVar25->super_Output_data).field_0x20 & 0xf7 | 8;
              if (var_13 << 0x1c < 0) {
                (reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).
                super_Output_data_reloc_generic.relative_reloc_count_ =
                     (reloc_section->super_Output_data_reloc_base<9,_true,_64,var_11>).
                     super_Output_data_reloc_generic.relative_reloc_count_ + 1;
              }
              if ((var_14 != 0xfffffffc) && (var_15 != (var_1<64,var_11> *)0x0)) {
                var_16 = (var_15->super_Relobj).dyn_reloc_count_;
                if (var_16 == 0) {
                  (var_15->super_Relobj).first_dyn_reloc_ = var_9 - 1;
                }
                var_6 = (this->entries_).
                         super__Vector_base<var_2::var_17<9,_64,var_11>::var_3,var_7::allocator<var_2::var_17<9,_64,var_11>::var_3>var_4>
                         ._M_impl._M_finish;
                (var_15->super_Relobj).dyn_reloc_count_ = var_16 + 1;
                goto LAB_0015ab48;
              }
              goto LAB_0015abbc;
            }
            (*(type_10 *)PTR_do_gold_unreachable_004c1a30)
                      (var_18 + 0x3574,0x231,
                       var_19 + -0xfb0);
          }
          var_28 = (type_2 *)&DAT_000006d5;
          var_26 = (type_2 *)(var_19 + -0x1104);
          puVar12 = (type_2 *)(var_18 + 0x3574);
          var_21 = PTR_do_gold_unreachable_004c1a30;
          (*(type_10 *)PTR_do_gold_unreachable_004c1a30)();
          var_27 = (type_2 *)*puVar12;
          var_30 = (type_2 *)puVar12[1];
          var_9 = (int)var_30 - (int)var_27 >> 3;
          var_16 = var_9 * -0x33333333;
          if (var_16 == 0) {
            var_20 = 1;
LAB_0015ae8c:
            var_9 = var_20 * 0x28;
          }
          else {
            var_20 = var_9 * -0x66666666;
            if (var_20 < var_16) {
              var_9 = -0x10;
            }
            else {
              var_9 = -0x10;
              if (var_20 < 0x6666667) {
                var_29 = (type_2 *)&DAT_00000028;
                if (var_20 == 0) {
                  var_9 = 0;
                  var_22 = (type_2 *)0x0;
                  goto LAB_0015acb4;
                }
                goto LAB_0015ae8c;
              }
            }
          }
          var_22 = (type_2 *)(**(type_10 **)(var_21 + 0x366790))(var_9);
          var_9 = (int)var_22 + var_9;
          var_29 = var_22 + 10;
LAB_0015acb4:
          var_25 = var_26;
          var_32 = (type_2 *)((int)var_22 + ((int)var_28 - (int)var_27));
          do {
            var_24 = var_32;
            var_23 = var_25;
            var_25 = var_23 + 4;
            uVar13 = var_23[1];
            uVar8 = var_23[2];
            uVar4 = var_23[3];
            *var_24 = *var_23;
            var_24[1] = uVar13;
            var_24[2] = uVar8;
            var_24[3] = uVar4;
            var_32 = var_24 + 4;
          } while (var_25 != var_26 + 8);
          uVar4 = var_23[5];
          var_24[4] = *var_25;
          var_24[5] = uVar4;
          var_26 = var_27;
          var_25 = var_22;
          if (var_27 != var_28) {
            do {
              var_29 = var_26;
              var_32 = var_25;
              do {
                var_24 = var_32;
                var_23 = var_29;
                var_29 = var_23 + 4;
                uVar13 = var_23[1];
                uVar8 = var_23[2];
                uVar4 = var_23[3];
                *var_24 = *var_23;
                var_24[1] = uVar13;
                var_24[2] = uVar8;
                var_24[3] = uVar4;
                var_32 = var_24 + 4;
              } while (var_29 != var_26 + 8);
              var_26 = var_26 + 10;
              uVar4 = var_23[5];
              var_24[4] = *var_29;
              var_24[5] = uVar4;
              var_25 = var_25 + 10;
            } while (var_28 != var_26);
            var_29 = var_22 + ((((type_3)((int)var_28 + (-0x28 - (int)var_27)) >> 3) * 0xccccccd &
                                0x1fffffff) + 2) * 10;
          }
          var_26 = var_28;
          var_25 = var_29;
          if (var_30 != var_28) {
            do {
              var_32 = var_26;
              var_23 = var_25;
              do {
                var_31 = var_23;
                var_24 = var_32;
                var_32 = var_24 + 4;
                uVar13 = var_24[1];
                uVar8 = var_24[2];
                uVar4 = var_24[3];
                *var_31 = *var_24;
                var_31[1] = uVar13;
                var_31[2] = uVar8;
                var_31[3] = uVar4;
                var_23 = var_31 + 4;
              } while (var_32 != var_26 + 8);
              var_26 = var_26 + 10;
              uVar4 = var_24[5];
              var_31[4] = *var_32;
              var_31[5] = uVar4;
              var_25 = var_25 + 10;
            } while (var_30 != var_26);
            var_29 = var_29 + ((((type_3)((int)var_30 + (-0x28 - (int)var_28)) >> 3) * 0xccccccd &
                                 0x1fffffff) + 1) * 10;
          }
          if (var_27 != (type_2 *)0x0) {
            (**(type_10 **)(var_21 + 0x3666e4))(var_27);
          }
          *puVar12 = var_22;
          puVar12[1] = var_29;
          puVar12[2] = var_9;
          return;
        }
        (*var_8)(reloc_section,pSVar14,var_5->reloc_type_,pOVar25,var_5->relobj_,
                   var_5->shndx_,*(type_2 *)&var_5->address_,(int)var_5->address_,
                   *(int *)&var_5->addend_,var_9);
LAB_0015abbc:
        var_6 = (this->entries_).
                 super__Vector_base<var_2::var_17<9,_64,var_11>::var_3,var_7::allocator<var_2::var_17<9,_64,var_11>::var_3>var_4>
                 ._M_impl._M_finish;
      }
LAB_0015ab48:
      var_5 = var_5 + 1;
    } while (var_6 != var_5);
    var_5 = (this->entries_).
              super__Vector_base<var_2::var_17<9,_64,var_11>::var_3,var_7::allocator<var_2::var_17<9,_64,var_11>::var_3>var_4>
              ._M_impl._M_start;
    if (var_6 != var_5) {
      (this->entries_).
      super__Vector_base<var_2::var_17<9,_64,var_11>::var_3,var_7::allocator<var_2::var_17<9,_64,var_11>::var_3>var_4>
      ._M_impl._M_finish = var_5;
    }
  }
  return;
}


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

void MASKED(int *param_1,int *param_2)

{
  undefined *puVar1;
  undefined4 *puVar2;
  int *piVar3;
  int iVar4;
  undefined4 *puVar5;
  int *piVar6;
  int iVar7;
  undefined4 local_48;
  int local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_38;
  int local_34;
  int local_30;
  undefined4 local_2c;
  
  puVar1 = PTR_add_global_generic_004c3558;
  piVar3 = (int *)param_1[1];
  piVar6 = (int *)*param_1;
  if (piVar6 != piVar3) {
    do {
      iVar4 = *piVar6;
      if (((*(uint *)(iVar4 + 0x28) & 0xe000) == 0) && (*(int *)(*(int *)(iVar4 + 8) + 0x2c) < 0)) {
        iVar7 = piVar6[4];
        if (*(code **)(*param_2 + 0x68) == (code *)puVar1) {
          if (piVar6[8] != 0 || piVar6[9] != 0) {
            (*(code *)PTR_do_gold_unreachable_004c1a30)
                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x6d5,
                       PTR_s__s_004c1a50 + -0x1104);
            return;
          }
          (*(code *)PTR_Output_reloc_004c1e90)(&local_48,iVar4,piVar6[1],piVar6[2],piVar6[3]);
          puVar5 = (undefined4 *)param_2[0xf];
          if (puVar5 == (undefined4 *)param_2[0x10]) {
            std::
            vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>
            ::_M_realloc_insert<gold::Output_reloc<9,true,64,false>const&>
                      ((vector<gold::Output_reloc<9,true,64,false>,std::allocator<gold::Output_reloc<9,true,64,false>>>
                        *)(param_2 + 0xe),puVar5,&local_48);
            puVar2 = (undefined4 *)param_2[0xf];
          }
          else {
            puVar2 = puVar5 + 8;
            puVar5[1] = local_44;
            puVar5[2] = local_40;
            *puVar5 = local_48;
            puVar5[3] = local_3c;
            puVar5[4] = local_38;
            puVar5[5] = local_34;
            puVar5[6] = local_30;
            puVar5[7] = local_2c;
            param_2[0xf] = (int)puVar2;
          }
          iVar4 = (int)puVar2 - param_2[0xe] >> 5;
          if (param_2[8] << 1 < 0) {
            (*(code *)PTR_do_gold_unreachable_004c1a30)
                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0x231,
                       PTR_s__s_004c1a50 + -0xfb0);
            return;
          }
          param_2[4] = 0;
          param_2[5] = iVar4 << 4;
          *(byte *)(iVar7 + 0x20) = *(byte *)(iVar7 + 0x20) & 0xf7 | 8;
          if (local_34 << 0x1c < 0) {
            param_2[0xc] = param_2[0xc] + 1;
          }
          if ((local_30 != -4) && (local_44 != 0)) {
            if (*(int *)(local_44 + 100) == 0) {
              *(int *)(local_44 + 0x60) = iVar4 + -1;
            }
            piVar3 = (int *)param_1[1];
            *(int *)(local_44 + 100) = *(int *)(local_44 + 100) + 1;
            goto LAB_0015ab48;
          }
        }
        else {
          (**(code **)(*param_2 + 0x68))
                    (param_2,iVar4,piVar6[1],iVar7,piVar6[2],piVar6[3],piVar6[6],piVar6[7],piVar6[8]
                     ,piVar6[9]);
        }
        piVar3 = (int *)param_1[1];
      }
LAB_0015ab48:
      piVar6 = piVar6 + 10;
    } while (piVar3 != piVar6);
    if (piVar3 != (int *)*param_1) {
      param_1[1] = *param_1;
    }
  }
  return;
}

