
/* WARNING: Removing unreachable block (ram,0x0011f874) */
/* WARNING: Removing unreachable block (ram,0x0011f884) */
/* WARNING: Removing unreachable block (ram,0x0011f890) */
/* WARNING: Removing unreachable block (ram,0x0011f6dc) */
/* WARNING: Removing unreachable block (ram,0x0011fa6c) */
/* WARNING: Removing unreachable block (ram,0x0011f6ec) */
/* WARNING: Removing unreachable block (ram,0x0011fa30) */
/* WARNING: Removing unreachable block (ram,0x0011fa40) */
/* WARNING: Removing unreachable block (ram,0x0011fa4c) */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: off_t set_relocatable_section_offsets(Layout * this, Output_data *
   file_header, uint * pshndx) */

off_t __thiscall
gold::Layout::set_relocatable_section_offsets(Layout *this,Output_data *file_header,uint *pshndx)

{
  byte bVar1;
  bool bVar2;
  longlong lVar3;
  int iVar4;
  undefined *puVar5;
  int iVar6;
  pointer ppOVar7;
  undefined4 *puVar8;
  undefined *extraout_v1;
  uint uVar9;
  undefined *puVar10;
  _func_int_varargs **pp_Var11;
  int *piVar12;
  Free_list *this_00;
  undefined4 uVar13;
  code *pcVar14;
  undefined *puVar15;
  undefined *puVar16;
  undefined *in_a3;
  int *piVar17;
  Output_section *pOVar18;
  uint uVar19;
  pointer ppOVar20;
  undefined *puVar21;
  int *piVar22;
  undefined *unaff_s5;
  undefined *puVar23;
  _func_int_varargs *p_Var24;
  undefined *puVar25;
  undefined *puVar26;
  off_t oVar27;
  longlong lVar28;
  undefined4 in_stack_ffffff6c;
  code *pcStack_90;
  undefined *puStack_8c;
  
  if (-1 < *(int *)&file_header->field_0x20) {
    bVar1 = file_header->field_0x20;
    in_a3 = (undefined *)0x0;
    file_header->field_0x20 = bVar1 & 0x7f | 0x80;
    iVar6 = *(int *)&file_header->field_0x20;
    *(undefined4 *)((int)&file_header->address_ + 4) = 0;
    *(undefined4 *)&file_header->address_ = 0;
    if (-1 < iVar6 << 2) {
      in_a3 = (undefined *)0x0;
      file_header->field_0x20 = bVar1 & 0x5f | 0xa0;
      iVar6 = *(int *)&file_header->field_0x20;
      *(undefined4 *)((int)&file_header->offset_ + 4) = 0;
      *(undefined4 *)&file_header->offset_ = 0;
      if ((iVar6 << 1 < 0) ||
         ((*file_header->_vptr_Output_data[0xe])(file_header),
         *(int *)&file_header->field_0x20 << 1 < 0)) {
        unaff_s5 = PTR_do_addralign_00432ea8;
        puVar21 = PTR_do_set_out_shndx_00432ea4;
        ppOVar7 = (this->section_list_).
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                  _M_impl._M_finish;
        ppOVar20 = (this->section_list_).
                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                   ._M_impl._M_start;
        puVar26 = *(undefined **)&file_header->data_size_;
        uVar19 = (uint)file_header->data_size_;
        if (ppOVar20 != ppOVar7) {
          do {
            pOVar18 = *ppOVar20;
            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {
              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];
              if (p_Var24 == (_func_int_varargs *)unaff_s5) {
                iVar6 = *(int *)&pOVar18->addralign_;
                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);
              }
              else {
                iVar6 = (*p_Var24)(pOVar18);
                pOVar18 = *ppOVar20;
              }
              uVar9 = uVar19 - 1;
              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {
                bVar2 = uVar9 < uVar19;
                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);
                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;
                puVar26 = (undefined *)
                          ((uint)(puVar26 +
                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &
                          (uint)in_a3);
              }
              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;
              if (-1 < iVar6) {
                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;
                bVar1 = (pOVar18->super_Output_data).field_0x20;
                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;
                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;
                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;
              }
              if (iVar6 << 2 < 0) goto LAB_0011f5d4;
              bVar1 = (pOVar18->super_Output_data).field_0x20;
              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;
              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;
              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;
              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;
              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {
                if (pOVar18->type_ != 8) goto LAB_0011f498;
                p_Var24 = pp_Var11[0xc];
                uVar9 = *pshndx;
                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;
LAB_0011f4c4:
                if ((pOVar18->out_shndx_ != 0xffffffff) &&
                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))
                goto LAB_0011f5bc;
                pOVar18->out_shndx_ = uVar9;
              }
              else {
                (*pp_Var11[0xe])(pOVar18);
                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;
                pOVar18 = *ppOVar20;
                if (pOVar18->type_ == 8) {
                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;
                }
                else {
                  puVar15 = PTR_s_alize_xindex_004323b4;
                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;
                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;
LAB_0011f498:
                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;
                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;
                  puVar26 = in_a3 + (uVar9 < uVar19);
                  uVar19 = uVar9;
                }
                p_Var24 = pp_Var11[0xc];
                uVar9 = *pshndx;
                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;
LAB_0011f54c:
                (*p_Var24)(pOVar18);
              }
              ppOVar7 = (this->section_list_).
                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                        ._M_impl._M_finish;
              *pshndx = *pshndx + 1;
            }
            ppOVar20 = ppOVar20 + 1;
          } while (ppOVar7 != ppOVar20);
        }
        return CONCAT44(puVar26,uVar19);
      }
LAB_0011f5a0:
      puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;
      (*(code *)PTR_do_gold_unreachable_004323c4)
                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15);
LAB_0011f5bc:
      (*(code *)PTR_do_gold_unreachable_004323c4)
                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);
    }
LAB_0011f5d4:
    puVar15 = PTR_s_alize_xindex_004323b4 + -0x190c;
    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,puVar15)
    ;
LAB_0011f5f0:
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604);
  }
  puVar16 = PTR_s_alize_xindex_004323b4 + -0x18fc;
  puVar10 = PTR_s_alize_xindex_004323b4 + -0x4fe0;
  puVar26 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar10,0x142);
  puVar15 = puVar26 + 0x31abac;
  piVar17 = *(int **)(puVar10 + 0x148);
  piVar12 = *(int **)(puVar10 + 0x14c);
  puVar21 = puVar16;
  puStack_8c = in_a3;
  if (piVar17 != piVar12) {
    iVar6 = *(int *)(puVar26 + 0x312d90);
    piVar22 = *(int **)(puVar26 + 0x3135bc);
    puVar26 = in_a3;
    puVar23 = puVar16;
    puVar25 = puVar15;
    do {
      puVar5 = puVar26;
      if ((*piVar17 != *(int *)(puVar10 + 0x180)) &&
         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))) {
        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);
        if (iVar4 == 0) {
          piVar12 = (int *)*piVar17;
          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {
            lVar28 = *(longlong *)(piVar12 + 10);
          }
          else {
            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);
            piVar12 = (int *)*piVar17;
          }
          if (lVar28 != 0) {
            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);
            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);
            puVar23 = (undefined *)
                      ((uint)((ulonglong)lVar3 >> 0x20) &
                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));
          }
          puVar15 = puVar25;
          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;
          piVar12[6] = (int)puVar23;
          piVar12[7] = (int)puVar26;
          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;
          if (-1 < piVar12[8] << 1) {
            (**(code **)(*piVar12 + 0x38))(piVar12);
            puVar15 = puVar25;
            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;
            goto LAB_0011f7c0;
          }
        }
        else {
          piVar12 = (int *)*piVar17;
          iVar4 = *piVar12;
          if (-1 < piVar12[8] << 1) {
            (**(code **)(iVar4 + 0x34))();
            piVar12 = (int *)*piVar17;
            iVar4 = *piVar12;
          }
          unaff_s5 = (undefined *)piVar12[4];
          uVar19 = piVar12[5];
          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {
            oVar27 = *(off_t *)(piVar12 + 10);
          }
          else {
            oVar27 = (**(code **)(iVar4 + 0xc))();
          }
          this_00 = (Free_list *)(puVar10 + 600);
          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),
                                       CONCAT44(puVar25,in_stack_ffffff6c));
          puVar5 = (undefined *)oVar27;
          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);
          puVar26 = puVar5;
          puVar15 = puVar25;
          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;
          while( true ) {
            piVar12 = (int *)*piVar17;
            iVar4 = *(int *)(puVar25 + -0x7e1c);
            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;
            piVar12[6] = (int)puVar23;
            piVar12[7] = (int)puVar26;
            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;
            if (-1 < piVar12[8] << 1) {
              puVar25 = puVar15;
              (**(code **)(*piVar12 + 0x38))(piVar12);
              puVar15 = puVar25;
              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;
              piVar12 = (int *)*piVar17;
              iVar4 = *(int *)(puVar25 + -0x7e1c);
              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;
            }
            if ((piVar12[4] <= (int)unaff_s5) &&
               (((undefined *)piVar12[4] != unaff_s5 ||
                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;
            pcStack_90 = *(code **)(puVar25 + -0x7318);
            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&
               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),
               puVar15 = puVar25, iVar4 == 0)) {
              uVar13 = 0x108a;
              goto LAB_0011fbec;
            }
            pcVar14 = *(code **)(puVar25 + -0x39b8);
            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;
            while( true ) {
              puVar26 = (undefined *)(*pcVar14)(iVar4);
              piVar12 = (int *)*piVar17;
              puVar25 = puVar15;
              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {
                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();
                puVar25 = puVar15;
              }
              this_00 = (Free_list *)piVar12[9];
              puVar15 = puVar25;
              (**(code **)(puVar25 + -0x7314))(puVar26);
              puVar5 = extraout_v1;
LAB_0011fb58:
              if (puVar5 != puVar23) break;
              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {
                puVar25 = puVar15;
                Free_list::dump(this_00);
                puVar15 = puVar25;
              }
              piVar12 = (int *)*piVar17;
              pcStack_90 = *(code **)(puVar25 + -0x7318);
              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {
                puVar25 = puVar15;
                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);
                puVar15 = puVar25;
              }
              pcVar14 = *(code **)(puVar25 + -0x39b8);
              if (piVar12 == (int *)0x0) {
                do {
                  uVar13 = 0x1081;
LAB_0011fbec:
                  (**(code **)(puVar25 + -0x7e0c))
                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,
                             *(int *)(puVar25 + -0x7e1c) + -0x1934);
                } while( true );
              }
              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;
            }
          }
          puVar8 = (undefined4 *)*piVar22;
          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)
             ) {
            unaff_s5 = (undefined *)*puVar8;
            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;
            puVar25 = puVar15;
            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);
            puVar15 = puVar25;
            if (iVar4 != 0) goto LAB_0011fc80;
            while( true ) {
              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);
              puVar25 = puVar15;
LAB_0011f7c0:
              piVar12 = (int *)*piVar17;
              iVar4 = *(int *)(puVar25 + -0x7e1c);
              puVar15 = puVar25;
              if (piVar12[8] << 1 < 0) break;
LAB_0011fc30:
              puVar15 = puVar25;
              (**(code **)(puVar25 + -0x7e0c))
                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);
LAB_0011fc48:
              (**(code **)(puVar25 + -0x7e0c))
                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,
                         *(int *)(puVar25 + -0x7e1c) + -0x1848);
LAB_0011fc64:
              iVar4 = *(int *)(puVar25 + -0x7e1c);
LAB_0011fc68:
              pcVar14 = (code *)0x14b;
              (**(code **)(puVar25 + -0x7e0c))
                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);
LAB_0011fc80:
              piVar12 = (int *)*piVar17;
LAB_0011f9f4:
              if (*(code **)(*piVar12 + 0x24) != pcVar14) {
                puVar25 = puVar15;
                (**(code **)(*piVar12 + 0x24))(piVar12);
                puVar15 = puVar25;
              }
            }
          }
        }
        puVar5 = puVar26 + piVar12[5];
        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];
        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {
          puVar21 = puVar23;
          puStack_8c = puVar5;
        }
        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);
        piVar12 = *(int **)(puVar10 + 0x14c);
        puVar25 = puVar15;
      }
      piVar17 = piVar17 + 1;
      puVar26 = puVar5;
    } while (piVar12 != piVar17);
  }
  return CONCAT44(puVar21,puStack_8c);
}



/* gold::Layout::set_relocatable_section_offsets(gold::Output_data*, unsigned int*) */

undefined8 __thiscall
gold::Layout::set_relocatable_section_offsets(Layout *this,Output_data *param_1,uint *param_2)

{
  Output_data OVar1;
  longlong lVar2;
  undefined *puVar3;
  undefined *puVar4;
  int iVar5;
  undefined4 *puVar6;
  uint uVar7;
  int *piVar8;
  uint uVar9;
  undefined4 *puVar10;
  code *pcVar11;
  uint uVar12;
  longlong lVar13;
  undefined8 uVar14;
  
  if (*(int *)(param_1 + 0x20) < 0) {
    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,
                        PTR_s_alize_xindex_004323b4 + -0x18fc);
    return uVar14;
  }
  OVar1 = param_1[0x20];
  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);
  *(undefined4 *)(param_1 + 0xc) = 0;
  *(undefined4 *)(param_1 + 8) = 0;
  if (*(int *)(param_1 + 0x20) << 2 < 0) {
LAB_0011f5d4:
    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,
                        PTR_s_alize_xindex_004323b4 + -0x190c);
    return uVar14;
  }
  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);
  *(undefined4 *)(param_1 + 0x1c) = 0;
  *(undefined4 *)(param_1 + 0x18) = 0;
  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&
     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {
LAB_0011f5a0:
    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,
                        PTR_s_alize_xindex_004323b4 + -0x1848);
    return uVar14;
  }
  puVar4 = PTR_do_addralign_00432ea8;
  puVar3 = PTR_do_set_out_shndx_00432ea4;
  puVar6 = *(undefined4 **)(this + 0x140);
  puVar10 = *(undefined4 **)(this + 0x13c);
  uVar12 = *(uint *)(param_1 + 0x10);
  uVar9 = *(uint *)(param_1 + 0x14);
  if (puVar10 != puVar6) {
    do {
      piVar8 = (int *)*puVar10;
      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {
        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {
          lVar13 = *(longlong *)(piVar8 + 10);
        }
        else {
          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);
          piVar8 = (int *)*puVar10;
        }
        if (lVar13 != 0) {
          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);
          uVar9 = (uint)lVar2 & -(int)lVar13;
          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &
                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);
        }
        iVar5 = piVar8[8];
        if (-1 < iVar5) {
          piVar8[2] = 0;
          piVar8[3] = 0;
          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;
          iVar5 = piVar8[8];
        }
        if (iVar5 << 2 < 0) goto LAB_0011f5d4;
        iVar5 = *piVar8;
        piVar8[6] = uVar12;
        piVar8[7] = uVar9;
        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;
        if (piVar8[8] << 1 < 0) {
          if (piVar8[0x15] != 8) goto LAB_0011f498;
          pcVar11 = *(code **)(iVar5 + 0x30);
          uVar7 = *param_2;
          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;
LAB_0011f54c:
          (*pcVar11)(piVar8);
        }
        else {
          (**(code **)(iVar5 + 0x38))(piVar8);
          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;
          piVar8 = (int *)*puVar10;
          if (piVar8[0x15] == 8) {
            iVar5 = *piVar8;
          }
          else {
            if (-1 < piVar8[8] << 1) {
              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,
                                  PTR_s_alize_xindex_004323b4 + -0x1604);
              return uVar14;
            }
            iVar5 = *piVar8;
LAB_0011f498:
            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];
            uVar9 = uVar9 + piVar8[5];
          }
          pcVar11 = *(code **)(iVar5 + 0x30);
          uVar7 = *param_2;
          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;
LAB_0011f4c4:
          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {
            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,
                                PTR_s_alize_xindex_004323b4 + -0x1920);
            return uVar14;
          }
          piVar8[0x19] = uVar7;
        }
        puVar6 = *(undefined4 **)(this + 0x140);
        *param_2 = *param_2 + 1;
      }
      puVar10 = puVar10 + 1;
    } while (puVar6 != puVar10);
  }
  return CONCAT44(uVar12,uVar9);
}


lui gp,0x32
addiu gp,gp,-0x50ec
addu gp,gp,t9
addiu sp,sp,-0x48
lw v0,0x20(a1)
sw gp,0x10(sp)
sw ra,0x44(sp)
sw s8,0x40(sp)
sw s7,0x3c(sp)
sw s6,0x38(sp)
sw s5,0x34(sp)
sw s4,0x30(sp)
sw s3,0x2c(sp)
sw s2,0x28(sp)
sw s1,0x24(sp)
bltz v0,0x0011f608
_sw s0,0x20(sp)
lbu v0,0x20(a1)
or s4,a0,zero
li a0,0x1
or s6,a2,zero
ins v0,a0,0x7,0x1
or a3,zero,zero
sb v0,0x20(a1)
or a2,zero,zero
lw v1,0x20(a1)
sw a3,0xc(a1)
ext v1,v1,0x1d,0x1
bne v1,zero,0x0011f5d4
_sw a2,0x8(a1)
ins v0,a0,0x5,0x1
or a3,zero,zero
sb v0,0x20(a1)
or a2,zero,zero
lw v0,0x20(a1)
sw a3,0x1c(a1)
ext v0,v0,0x1e,0x1
beq v0,zero,0x0011f578
_sw a2,0x18(a1)
lw v1,0x140(s4)
lw s2,0x13c(s4)
lw s8,0x10(a1)
beq s2,v1,0x0011f4fc
_lw s1,0x14(a1)
lw v0,-0x732c(gp)
li s3,0x1
lw s5,-0x7328(gp)
li s7,0x8
sw v0,0x18(sp)
lw s0,0x0(s2)
lw v0,0x5c(s0)
andi v0,v0,0x2
bne v0,zero,0x0011f3a0
_li v0,0x11
lw a0,0x54(s0)
bne a0,v0,0x0011f4f0
_nop
lw v0,0x0(s0)
lw t9,0xc(v0)
bne t9,s5,0x0011f55c
_nop
lw v0,0x28(s0)
lw v1,0x2c(s0)
or a0,v0,v1
beq a0,zero,0x0011f3f8
_addiu a0,s1,-0x1
addiu a3,s8,-0x1
sltu s1,a0,s1
addu a3,s1,a3
addu s1,a0,v1
subu v1,zero,v1
addu a3,a3,v0
subu v0,zero,v0
sltu a0,s1,a0
sltu a1,zero,v1
addu a0,a0,a3
subu a3,v0,a1
and s1,s1,v1
and s8,a0,a3
lw v0,0x20(s0)
bltz v0,0x0011f428
_ext v0,v0,0x1d,0x1
or v0,zero,zero
or v1,zero,zero
sw v0,0x8(s0)
lbu v0,0x20(s0)
sw v1,0xc(s0)
ins v0,s3,0x7,0x1
sb v0,0x20(s0)
lw v0,0x20(s0)
ext v0,v0,0x1d,0x1
bne v0,zero,0x0011f5d4
_nop
lbu v0,0x20(s0)
lw a1,0x0(s0)
sw s8,0x18(s0)
ins v0,s3,0x5,0x1
sw s1,0x1c(s0)
sb v0,0x20(s0)
lw v0,0x20(s0)
ext v0,v0,0x1e,0x1
bne v0,zero,0x0011f534
_nop
lw t9,0x38(a1)
jalr t9
_or a0,s0,zero
lw v0,0x20(s0)
ext v0,v0,0x1e,0x1
beq v0,zero,0x0011f5a0
_lw gp,0x10(sp)
lw s0,0x0(s2)
lw v0,0x54(s0)
beq v0,s7,0x0011f570
_nop
lw v0,0x20(s0)
ext v0,v0,0x1e,0x1
beq v0,zero,0x0011f5f0
_lw a2,-0x7e1c(gp)
lw a1,0x0(s0)
lw a0,0x14(s0)
lw v0,0x10(s0)
addu a0,s1,a0
addu a3,s8,v0
sltu s1,a0,s1
addu s8,s1,a3
or s1,a0,zero
lw t9,0x30(a1)
lw v0,0x18(sp)
bne t9,v0,0x0011f54c
_lw a1,0x0(s6)
lw v0,0x64(s0)
li v1,-0x1
beq v0,v1,0x0011f4dc
_nop
bne a1,v0,0x0011f5bc
_lw a2,-0x7e1c(gp)
sw a1,0x64(s0)
lw v0,0x0(s6)
lw v1,0x140(s4)
addiu v0,v0,0x1
sw v0,0x0(s6)
addiu s2,s2,0x4
bne v1,s2,0x0011f380
_nop
lw ra,0x44(sp)
or v0,s8,zero
or v1,s1,zero
lw s8,0x40(sp)
lw s7,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x48
lw v0,0x54(s0)
bne v0,s7,0x0011f498
_lw v0,0x18(sp)
lw t9,0x30(a1)
beq t9,v0,0x0011f4c4
_lw a1,0x0(s6)
jalr t9
_or a0,s0,zero
b 0x0011f4e0
_lw gp,0x10(sp)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
b 0x0011f3b8
_lw s0,0x0(s2)
b 0x0011f4b4
_lw a1,0x0(s0)
lw v0,0x0(a1)
sw a1,0x4c(sp)
lw t9,0x38(v0)
jalr t9
_or a0,a1,zero
lw a1,0x4c(sp)
lw v0,0x20(a1)
ext v0,v0,0x1e,0x1
bne v0,zero,0x0011f358
_lw gp,0x10(sp)
lw a2,-0x7e1c(gp)
li a1,0x163
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x1848
jalr t9
_addiu a0,a0,-0x4fe0
li a1,0x104b
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x1920
jalr t9
_addiu a0,a0,-0x4fe0
lw a2,-0x7e1c(gp)
li a1,0x14b
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x190c
jalr t9
_addiu a0,a0,-0x4fe0
li a1,0xcf
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x1604
jalr t9
_addiu a0,a0,-0x4fe0
lw a2,-0x7e1c(gp)
li a1,0x142
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x18fc
jalr t9
_addiu a0,a0,-0x4fe0
(translation_unit "/* gold::Layout::set_relocatable_section_offsets(gold::Output_data*, unsigned int*) */\n\nundefined8 __thiscall\ngold::Layout::set_relocatable_section_offsets(Layout *this,Output_data *param_1,uint *param_2)\n\n{\n  Output_data OVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  code *pcVar11;\n  uint uVar12;\n  longlong lVar13;\n  undefined8 uVar14;\n  \n  if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }\n  OVar1 = param_1[0x20];\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);\n  *(undefined4 *)(param_1 + 0xc) = 0;\n  *(undefined4 *)(param_1 + 8) = 0;\n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);\n  *(undefined4 *)(param_1 + 0x1c) = 0;\n  *(undefined4 *)(param_1 + 0x18) = 0;\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }\n  puVar4 = PTR_do_addralign_00432ea8;\n  puVar3 = PTR_do_set_out_shndx_00432ea4;\n  puVar6 = *(undefined4 **)(this + 0x140);\n  puVar10 = *(undefined4 **)(this + 0x13c);\n  uVar12 = *(uint *)(param_1 + 0x10);\n  uVar9 = *(uint *)(param_1 + 0x14);\n  if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }\n  return CONCAT44(uVar12,uVar9);\n}\n\n" comment (function_definition "undefined8 __thiscall\ngold::Layout::set_relocatable_section_offsets(Layout *this,Output_data *param_1,uint *param_2)\n\n{\n  Output_data OVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  code *pcVar11;\n  uint uVar12;\n  longlong lVar13;\n  undefined8 uVar14;\n  \n  if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }\n  OVar1 = param_1[0x20];\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);\n  *(undefined4 *)(param_1 + 0xc) = 0;\n  *(undefined4 *)(param_1 + 8) = 0;\n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);\n  *(undefined4 *)(param_1 + 0x1c) = 0;\n  *(undefined4 *)(param_1 + 0x18) = 0;\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }\n  puVar4 = PTR_do_addralign_00432ea8;\n  puVar3 = PTR_do_set_out_shndx_00432ea4;\n  puVar6 = *(undefined4 **)(this + 0x140);\n  puVar10 = *(undefined4 **)(this + 0x13c);\n  uVar12 = *(uint *)(param_1 + 0x10);\n  uVar9 = *(uint *)(param_1 + 0x14);\n  if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }\n  return CONCAT44(uVar12,uVar9);\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "set_relocatable_section_offsets(Layout *this,Output_data *param_1,uint *param_2)" identifier (parameter_list "(Layout *this,Output_data *param_1,uint *param_2)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_data *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  Output_data OVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  code *pcVar11;\n  uint uVar12;\n  longlong lVar13;\n  undefined8 uVar14;\n  \n  if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }\n  OVar1 = param_1[0x20];\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);\n  *(undefined4 *)(param_1 + 0xc) = 0;\n  *(undefined4 *)(param_1 + 8) = 0;\n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);\n  *(undefined4 *)(param_1 + 0x1c) = 0;\n  *(undefined4 *)(param_1 + 0x18) = 0;\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }\n  puVar4 = PTR_do_addralign_00432ea8;\n  puVar3 = PTR_do_set_out_shndx_00432ea4;\n  puVar6 = *(undefined4 **)(this + 0x140);\n  puVar10 = *(undefined4 **)(this + 0x13c);\n  uVar12 = *(uint *)(param_1 + 0x10);\n  uVar9 = *(uint *)(param_1 + 0x14);\n  if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }\n  return CONCAT44(uVar12,uVar9);\n}" { (declaration "Output_data OVar1;" type_identifier identifier ;) (declaration "longlong lVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "longlong lVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) < 0)" ( (binary_expression "*(int *)(param_1 + 0x20) < 0" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }" { (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x18fc" identifier + number_literal) )))) ;) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "OVar1 = param_1[0x20];" (assignment_expression "OVar1 = param_1[0x20]" identifier = (subscript_expression "param_1[0x20]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);" (assignment_expression "param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80)" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = (call_expression "(Output_data)((byte)OVar1 & 0x7f | 0x80)" (parenthesized_expression "(Output_data)" ( identifier )) (argument_list "((byte)OVar1 & 0x7f | 0x80)" ( (binary_expression "(byte)OVar1 & 0x7f | 0x80" (binary_expression "(byte)OVar1 & 0x7f" (cast_expression "(byte)OVar1" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) | number_literal) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 8) = 0" (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(param_1 + 0x20) << 2 < 0" (binary_expression "*(int *)(param_1 + 0x20) << 2" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }" { (labeled_statement "LAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);" statement_identifier : (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x190c" identifier + number_literal) )))) ;)) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);" (assignment_expression "param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0)" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = (call_expression "(Output_data)((byte)OVar1 & 0x5f | 0xa0)" (parenthesized_expression "(Output_data)" ( identifier )) (argument_list "((byte)OVar1 & 0x5f | 0xa0)" ( (binary_expression "(byte)OVar1 & 0x5f | 0xa0" (binary_expression "(byte)OVar1 & 0x5f" (cast_expression "(byte)OVar1" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) | number_literal) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" * (cast_expression "(undefined4 *)(param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x18) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x18)" * (cast_expression "(undefined4 *)(param_1 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }" if (parenthesized_expression "((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1))" ( (binary_expression "(-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)" (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal)) )) && (parenthesized_expression "((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)" ( (comma_expression "(**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1" (call_expression "(**(code **)(*(int *)param_1 + 0x38))(param_1)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x38))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x38)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x38)" * (cast_expression "(code **)(*(int *)param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x38)" ( (binary_expression "*(int *)param_1 + 0x38" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))) , (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal))) ))) )) (compound_statement "{\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }" { (labeled_statement "LAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);" statement_identifier : (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1848" identifier + number_literal) )))) ;)) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "puVar4 = PTR_do_addralign_00432ea8;" (assignment_expression "puVar4 = PTR_do_addralign_00432ea8" identifier = identifier) ;) (expression_statement "puVar3 = PTR_do_set_out_shndx_00432ea4;" (assignment_expression "puVar3 = PTR_do_set_out_shndx_00432ea4" identifier = identifier) ;) (expression_statement "puVar6 = *(undefined4 **)(this + 0x140);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x140)" identifier = (pointer_expression "*(undefined4 **)(this + 0x140)" * (cast_expression "(undefined4 **)(this + 0x140)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x140)" ( (binary_expression "this + 0x140" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = *(undefined4 **)(this + 0x13c);" (assignment_expression "puVar10 = *(undefined4 **)(this + 0x13c)" identifier = (pointer_expression "*(undefined4 **)(this + 0x13c)" * (cast_expression "(undefined4 **)(this + 0x13c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x13c)" ( (binary_expression "this + 0x13c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(param_1 + 0x10);" (assignment_expression "uVar12 = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar9 = *(uint *)(param_1 + 0x14)" identifier = (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }" if (parenthesized_expression "(puVar10 != puVar6)" ( (binary_expression "puVar10 != puVar6" identifier != identifier) )) (compound_statement "{\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }" { (do_statement "do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);" do (compound_statement "{\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    }" { (expression_statement "piVar8 = (int *)*puVar10;" (assignment_expression "piVar8 = (int *)*puVar10" identifier = (cast_expression "(int *)*puVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (if_statement "if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }" if (parenthesized_expression "(((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11))" ( (binary_expression "((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)" (parenthesized_expression "((piVar8[0x17] & 2U) != 0)" ( (binary_expression "(piVar8[0x17] & 2U) != 0" (parenthesized_expression "(piVar8[0x17] & 2U)" ( (binary_expression "piVar8[0x17] & 2U" (subscript_expression "piVar8[0x17]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(piVar8[0x15] == 0x11)" ( (binary_expression "piVar8[0x15] == 0x11" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }" { (if_statement "if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }" if (parenthesized_expression "(*(code **)(*piVar8 + 0xc) == (code *)puVar4)" ( (binary_expression "*(code **)(*piVar8 + 0xc) == (code *)puVar4" (pointer_expression "*(code **)(*piVar8 + 0xc)" * (cast_expression "(code **)(*piVar8 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xc)" ( (binary_expression "*piVar8 + 0xc" (pointer_expression "*piVar8" * identifier) + number_literal) )))) == (cast_expression "(code *)puVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }" { (expression_statement "lVar13 = *(longlong *)(piVar8 + 10);" (assignment_expression "lVar13 = *(longlong *)(piVar8 + 10)" identifier = (pointer_expression "*(longlong *)(piVar8 + 10)" * (cast_expression "(longlong *)(piVar8 + 10)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }" else (compound_statement "{\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }" { (expression_statement "lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);" (assignment_expression "lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8)" identifier = (call_expression "(**(code **)(*piVar8 + 0xc))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 0xc))" ( (pointer_expression "**(code **)(*piVar8 + 0xc)" * (pointer_expression "*(code **)(*piVar8 + 0xc)" * (cast_expression "(code **)(*piVar8 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xc)" ( (binary_expression "*piVar8 + 0xc" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier )))) ;) (expression_statement "piVar8 = (int *)*puVar10;" (assignment_expression "piVar8 = (int *)*puVar10" identifier = (cast_expression "(int *)*puVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) }))) (if_statement "if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }" if (parenthesized_expression "(lVar13 != 0)" ( (binary_expression "lVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }" { (expression_statement "lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);" (assignment_expression "lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" identifier = (binary_expression "lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" identifier + (call_expression "CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" identifier (argument_list "((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" ( (binary_expression "(uint)(uVar9 - 1 < uVar9) + (uVar12 - 1)" (call_expression "(uint)(uVar9 - 1 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 - 1 < uVar9)" ( (binary_expression "uVar9 - 1 < uVar9" (binary_expression "uVar9 - 1" identifier - number_literal) < identifier) ))) + (parenthesized_expression "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) ))) , (binary_expression "uVar9 - 1" identifier - number_literal) ))))) ;) (expression_statement "uVar9 = (uint)lVar2 & -(int)lVar13;" (assignment_expression "uVar9 = (uint)lVar2 & -(int)lVar13" identifier = (binary_expression "(uint)lVar2 & -(int)lVar13" (cast_expression "(uint)lVar2" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-(int)lVar13" - (cast_expression "(int)lVar13" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);" (assignment_expression "uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20)" identifier = (binary_expression "(uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20)" (call_expression "(uint)((ulonglong)lVar2 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar2 >> 0x20)" ( (binary_expression "(ulonglong)lVar2 >> 0x20" (cast_expression "(ulonglong)lVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) & (binary_expression "-(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20)" (unary_expression "-(uint)(-(int)lVar13 != 0)" - (call_expression "(uint)(-(int)lVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-(int)lVar13 != 0)" ( (binary_expression "-(int)lVar13 != 0" (unary_expression "-(int)lVar13" - (cast_expression "(int)lVar13" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )))) - (cast_expression "(int)((ulonglong)lVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar13 >> 0x20)" ( (binary_expression "(ulonglong)lVar13 >> 0x20" (cast_expression "(ulonglong)lVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))))) ;) })) (expression_statement "iVar5 = piVar8[8];" (assignment_expression "iVar5 = piVar8[8]" identifier = (subscript_expression "piVar8[8]" identifier [ number_literal ])) ;) (if_statement "if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (compound_statement "{\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }" { (expression_statement "piVar8[2] = 0;" (assignment_expression "piVar8[2] = 0" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[3] = 0;" (assignment_expression "piVar8[3] = 0" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;" (assignment_expression "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80" (pointer_expression "*(byte *)(piVar8 + 8)" * (cast_expression "(byte *)(piVar8 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 8)" ( (binary_expression "piVar8 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar8 + 8) & 0x7f | 0x80" (binary_expression "*(byte *)(piVar8 + 8) & 0x7f" (pointer_expression "*(byte *)(piVar8 + 8)" * (cast_expression "(byte *)(piVar8 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 8)" ( (binary_expression "piVar8 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar5 = piVar8[8];" (assignment_expression "iVar5 = piVar8[8]" identifier = (subscript_expression "piVar8[8]" identifier [ number_literal ])) ;) })) (if_statement "if (iVar5 << 2 < 0) goto LAB_0011f5d4;" if (parenthesized_expression "(iVar5 << 2 < 0)" ( (binary_expression "iVar5 << 2 < 0" (binary_expression "iVar5 << 2" identifier << number_literal) < number_literal) )) (goto_statement "goto LAB_0011f5d4;" goto statement_identifier ;)) (expression_statement "iVar5 = *piVar8;" (assignment_expression "iVar5 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "piVar8[6] = uVar12;" (assignment_expression "piVar8[6] = uVar12" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[7] = uVar9;" (assignment_expression "piVar8[7] = uVar9" (subscript_expression "piVar8[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;" (assignment_expression "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20" (pointer_expression "*(byte *)(piVar8 + 8)" * (cast_expression "(byte *)(piVar8 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 8)" ( (binary_expression "piVar8 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar8 + 8) & 0xdf | 0x20" (binary_expression "*(byte *)(piVar8 + 8) & 0xdf" (pointer_expression "*(byte *)(piVar8 + 8)" * (cast_expression "(byte *)(piVar8 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 8)" ( (binary_expression "piVar8 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (if_statement "if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }" if (parenthesized_expression "(piVar8[8] << 1 < 0)" ( (binary_expression "piVar8[8] << 1 < 0" (binary_expression "piVar8[8] << 1" (subscript_expression "piVar8[8]" identifier [ number_literal ]) << number_literal) < number_literal) )) (compound_statement "{\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }" { (if_statement "if (piVar8[0x15] != 8) goto LAB_0011f498;" if (parenthesized_expression "(piVar8[0x15] != 8)" ( (binary_expression "piVar8[0x15] != 8" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0011f498;" goto statement_identifier ;)) (expression_statement "pcVar11 = *(code **)(iVar5 + 0x30);" (assignment_expression "pcVar11 = *(code **)(iVar5 + 0x30)" identifier = (pointer_expression "*(code **)(iVar5 + 0x30)" * (cast_expression "(code **)(iVar5 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;" if (parenthesized_expression "(pcVar11 == (code *)puVar3)" ( (binary_expression "pcVar11 == (code *)puVar3" identifier == (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_0011f4c4;" goto statement_identifier ;)) (labeled_statement "LAB_0011f54c:\n          (*pcVar11)(piVar8);" statement_identifier : (expression_statement "(*pcVar11)(piVar8);" (call_expression "(*pcVar11)(piVar8)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(piVar8)" ( identifier ))) ;)) }) (else_clause "else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }" else (compound_statement "{\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }" { (expression_statement "(**(code **)(iVar5 + 0x38))(piVar8);" (call_expression "(**(code **)(iVar5 + 0x38))(piVar8)" (parenthesized_expression "(**(code **)(iVar5 + 0x38))" ( (pointer_expression "**(code **)(iVar5 + 0x38)" * (pointer_expression "*(code **)(iVar5 + 0x38)" * (cast_expression "(code **)(iVar5 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier ))) ;) (if_statement "if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;" if (parenthesized_expression "(-1 < piVar8[8] << 1)" ( (binary_expression "-1 < piVar8[8] << 1" number_literal < (binary_expression "piVar8[8] << 1" (subscript_expression "piVar8[8]" identifier [ number_literal ]) << number_literal)) )) (goto_statement "goto LAB_0011f5a0;" goto statement_identifier ;)) (expression_statement "piVar8 = (int *)*puVar10;" (assignment_expression "piVar8 = (int *)*puVar10" identifier = (cast_expression "(int *)*puVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (if_statement "if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }" if (parenthesized_expression "(piVar8[0x15] == 8)" ( (binary_expression "piVar8[0x15] == 8" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar5 = *piVar8;\n          }" { (expression_statement "iVar5 = *piVar8;" (assignment_expression "iVar5 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) }) (else_clause "else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }" else (compound_statement "{\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }" { (if_statement "if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }" if (parenthesized_expression "(-1 < piVar8[8] << 1)" ( (binary_expression "-1 < piVar8[8] << 1" number_literal < (binary_expression "piVar8[8] << 1" (subscript_expression "piVar8[8]" identifier [ number_literal ]) << number_literal)) )) (compound_statement "{\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }" { (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1604" identifier + number_literal) )))) ;) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "iVar5 = *piVar8;" (assignment_expression "iVar5 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (labeled_statement "LAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];" statement_identifier : (expression_statement "uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];" (assignment_expression "uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4]" identifier = (binary_expression "(uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4]" (binary_expression "(uint)(uVar9 + piVar8[5] < uVar9) + uVar12" (call_expression "(uint)(uVar9 + piVar8[5] < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 + piVar8[5] < uVar9)" ( (binary_expression "uVar9 + piVar8[5] < uVar9" (binary_expression "uVar9 + piVar8[5]" identifier + (subscript_expression "piVar8[5]" identifier [ number_literal ])) < identifier) ))) + identifier) + (subscript_expression "piVar8[4]" identifier [ number_literal ]))) ;)) (expression_statement "uVar9 = uVar9 + piVar8[5];" (assignment_expression "uVar9 = uVar9 + piVar8[5]" identifier = (binary_expression "uVar9 + piVar8[5]" identifier + (subscript_expression "piVar8[5]" identifier [ number_literal ]))) ;) }))) (expression_statement "pcVar11 = *(code **)(iVar5 + 0x30);" (assignment_expression "pcVar11 = *(code **)(iVar5 + 0x30)" identifier = (pointer_expression "*(code **)(iVar5 + 0x30)" * (cast_expression "(code **)(iVar5 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;" if (parenthesized_expression "(pcVar11 != (code *)puVar3)" ( (binary_expression "pcVar11 != (code *)puVar3" identifier != (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_0011f54c;" goto statement_identifier ;)) (labeled_statement "LAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }" statement_identifier : (if_statement "if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }" if (parenthesized_expression "((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19]))" ( (binary_expression "(piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])" (parenthesized_expression "(piVar8[0x19] != 0xffffffff)" ( (binary_expression "piVar8[0x19] != 0xffffffff" (subscript_expression "piVar8[0x19]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(uVar7 != piVar8[0x19])" ( (binary_expression "uVar7 != piVar8[0x19]" identifier != (subscript_expression "piVar8[0x19]" identifier [ number_literal ])) ))) )) (compound_statement "{\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }" { (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1920" identifier + number_literal) )))) ;) (return_statement "return uVar14;" return identifier ;) }))) (expression_statement "piVar8[0x19] = uVar7;" (assignment_expression "piVar8[0x19] = uVar7" (subscript_expression "piVar8[0x19]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "puVar6 = *(undefined4 **)(this + 0x140);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x140)" identifier = (pointer_expression "*(undefined4 **)(this + 0x140)" * (cast_expression "(undefined4 **)(this + 0x140)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x140)" ( (binary_expression "this + 0x140" identifier + number_literal) ))))) ;) (expression_statement "*param_2 = *param_2 + 1;" (assignment_expression "*param_2 = *param_2 + 1" (pointer_expression "*param_2" * identifier) = (binary_expression "*param_2 + 1" (pointer_expression "*param_2" * identifier) + number_literal)) ;) })) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar6 != puVar10)" ( (binary_expression "puVar6 != puVar10" identifier != identifier) )) ;) })) (return_statement "return CONCAT44(uVar12,uVar9);" return (call_expression "CONCAT44(uVar12,uVar9)" identifier (argument_list "(uVar12,uVar9)" ( identifier , identifier ))) ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x0011f874) */\n/* WARNING: Removing unreachable block (ram,0x0011f884) */\n/* WARNING: Removing unreachable block (ram,0x0011f890) */\n/* WARNING: Removing unreachable block (ram,0x0011f6dc) */\n/* WARNING: Removing unreachable block (ram,0x0011fa6c) */\n/* WARNING: Removing unreachable block (ram,0x0011f6ec) */\n/* WARNING: Removing unreachable block (ram,0x0011fa30) */\n/* WARNING: Removing unreachable block (ram,0x0011fa40) */\n/* WARNING: Removing unreachable block (ram,0x0011fa4c) */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: off_t set_relocatable_section_offsets(Layout * this, Output_data *\n   file_header, uint * pshndx) */\n\noff_t __thiscall\ngold::Layout::set_relocatable_section_offsets(Layout *this,Output_data *file_header,uint *pshndx)\n\n{\n  byte bVar1;\n  bool bVar2;\n  longlong lVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  pointer ppOVar7;\n  undefined4 *puVar8;\n  undefined *extraout_v1;\n  uint uVar9;\n  undefined *puVar10;\n  _func_int_varargs **pp_Var11;\n  int *piVar12;\n  Free_list *this_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  undefined *puVar15;\n  undefined *puVar16;\n  undefined *in_a3;\n  int *piVar17;\n  Output_section *pOVar18;\n  uint uVar19;\n  pointer ppOVar20;\n  undefined *puVar21;\n  int *piVar22;\n  undefined *unaff_s5;\n  undefined *puVar23;\n  _func_int_varargs *p_Var24;\n  undefined *puVar25;\n  undefined *puVar26;\n  off_t oVar27;\n  longlong lVar28;\n  undefined4 in_stack_ffffff6c;\n  code *pcStack_90;\n  undefined *puStack_8c;\n  \n  if (-1 < *(int *)&file_header->field_0x20) {\n    bVar1 = file_header->field_0x20;\n    in_a3 = (undefined *)0x0;\n    file_header->field_0x20 = bVar1 & 0x7f | 0x80;\n    iVar6 = *(int *)&file_header->field_0x20;\n    *(undefined4 *)((int)&file_header->address_ + 4) = 0;\n    *(undefined4 *)&file_header->address_ = 0;\n    if (-1 < iVar6 << 2) {\n      in_a3 = (undefined *)0x0;\n      file_header->field_0x20 = bVar1 & 0x5f | 0xa0;\n      iVar6 = *(int *)&file_header->field_0x20;\n      *(undefined4 *)((int)&file_header->offset_ + 4) = 0;\n      *(undefined4 *)&file_header->offset_ = 0;\n      if ((iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)) {\n        unaff_s5 = PTR_do_addralign_00432ea8;\n        puVar21 = PTR_do_set_out_shndx_00432ea4;\n        ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        puVar26 = *(undefined **)&file_header->data_size_;\n        uVar19 = (uint)file_header->data_size_;\n        if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }\n        return CONCAT44(puVar26,uVar19);\n      }\nLAB_0011f5a0:\n      puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15);\nLAB_0011f5bc:\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);\n    }\nLAB_0011f5d4:\n    puVar15 = PTR_s_alize_xindex_004323b4 + -0x190c;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,puVar15)\n    ;\nLAB_0011f5f0:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604);\n  }\n  puVar16 = PTR_s_alize_xindex_004323b4 + -0x18fc;\n  puVar10 = PTR_s_alize_xindex_004323b4 + -0x4fe0;\n  puVar26 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar10,0x142);\n  puVar15 = puVar26 + 0x31abac;\n  piVar17 = *(int **)(puVar10 + 0x148);\n  piVar12 = *(int **)(puVar10 + 0x14c);\n  puVar21 = puVar16;\n  puStack_8c = in_a3;\n  if (piVar17 != piVar12) {\n    iVar6 = *(int *)(puVar26 + 0x312d90);\n    piVar22 = *(int **)(puVar26 + 0x3135bc);\n    puVar26 = in_a3;\n    puVar23 = puVar16;\n    puVar25 = puVar15;\n    do {\n      puVar5 = puVar26;\n      if ((*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))) {\n        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);\n        if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }\n        puVar5 = puVar26 + piVar12[5];\n        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];\n        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }\n        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);\n        piVar12 = *(int **)(puVar10 + 0x14c);\n        puVar25 = puVar15;\n      }\n      piVar17 = piVar17 + 1;\n      puVar26 = puVar5;\n    } while (piVar12 != piVar17);\n  }\n  return CONCAT44(puVar21,puStack_8c);\n}\n\n" comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment (function_definition "off_t __thiscall\ngold::Layout::set_relocatable_section_offsets(Layout *this,Output_data *file_header,uint *pshndx)\n\n{\n  byte bVar1;\n  bool bVar2;\n  longlong lVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  pointer ppOVar7;\n  undefined4 *puVar8;\n  undefined *extraout_v1;\n  uint uVar9;\n  undefined *puVar10;\n  _func_int_varargs **pp_Var11;\n  int *piVar12;\n  Free_list *this_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  undefined *puVar15;\n  undefined *puVar16;\n  undefined *in_a3;\n  int *piVar17;\n  Output_section *pOVar18;\n  uint uVar19;\n  pointer ppOVar20;\n  undefined *puVar21;\n  int *piVar22;\n  undefined *unaff_s5;\n  undefined *puVar23;\n  _func_int_varargs *p_Var24;\n  undefined *puVar25;\n  undefined *puVar26;\n  off_t oVar27;\n  longlong lVar28;\n  undefined4 in_stack_ffffff6c;\n  code *pcStack_90;\n  undefined *puStack_8c;\n  \n  if (-1 < *(int *)&file_header->field_0x20) {\n    bVar1 = file_header->field_0x20;\n    in_a3 = (undefined *)0x0;\n    file_header->field_0x20 = bVar1 & 0x7f | 0x80;\n    iVar6 = *(int *)&file_header->field_0x20;\n    *(undefined4 *)((int)&file_header->address_ + 4) = 0;\n    *(undefined4 *)&file_header->address_ = 0;\n    if (-1 < iVar6 << 2) {\n      in_a3 = (undefined *)0x0;\n      file_header->field_0x20 = bVar1 & 0x5f | 0xa0;\n      iVar6 = *(int *)&file_header->field_0x20;\n      *(undefined4 *)((int)&file_header->offset_ + 4) = 0;\n      *(undefined4 *)&file_header->offset_ = 0;\n      if ((iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)) {\n        unaff_s5 = PTR_do_addralign_00432ea8;\n        puVar21 = PTR_do_set_out_shndx_00432ea4;\n        ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        puVar26 = *(undefined **)&file_header->data_size_;\n        uVar19 = (uint)file_header->data_size_;\n        if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }\n        return CONCAT44(puVar26,uVar19);\n      }\nLAB_0011f5a0:\n      puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15);\nLAB_0011f5bc:\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);\n    }\nLAB_0011f5d4:\n    puVar15 = PTR_s_alize_xindex_004323b4 + -0x190c;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,puVar15)\n    ;\nLAB_0011f5f0:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604);\n  }\n  puVar16 = PTR_s_alize_xindex_004323b4 + -0x18fc;\n  puVar10 = PTR_s_alize_xindex_004323b4 + -0x4fe0;\n  puVar26 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar10,0x142);\n  puVar15 = puVar26 + 0x31abac;\n  piVar17 = *(int **)(puVar10 + 0x148);\n  piVar12 = *(int **)(puVar10 + 0x14c);\n  puVar21 = puVar16;\n  puStack_8c = in_a3;\n  if (piVar17 != piVar12) {\n    iVar6 = *(int *)(puVar26 + 0x312d90);\n    piVar22 = *(int **)(puVar26 + 0x3135bc);\n    puVar26 = in_a3;\n    puVar23 = puVar16;\n    puVar25 = puVar15;\n    do {\n      puVar5 = puVar26;\n      if ((*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))) {\n        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);\n        if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }\n        puVar5 = puVar26 + piVar12[5];\n        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];\n        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }\n        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);\n        piVar12 = *(int **)(puVar10 + 0x14c);\n        puVar25 = puVar15;\n      }\n      piVar17 = piVar17 + 1;\n      puVar26 = puVar5;\n    } while (piVar12 != piVar17);\n  }\n  return CONCAT44(puVar21,puStack_8c);\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "set_relocatable_section_offsets(Layout *this,Output_data *file_header,uint *pshndx)" identifier (parameter_list "(Layout *this,Output_data *file_header,uint *pshndx)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_data *file_header" type_identifier (pointer_declarator "*file_header" * identifier)) , (parameter_declaration "uint *pshndx" type_identifier (pointer_declarator "*pshndx" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  longlong lVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  pointer ppOVar7;\n  undefined4 *puVar8;\n  undefined *extraout_v1;\n  uint uVar9;\n  undefined *puVar10;\n  _func_int_varargs **pp_Var11;\n  int *piVar12;\n  Free_list *this_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  undefined *puVar15;\n  undefined *puVar16;\n  undefined *in_a3;\n  int *piVar17;\n  Output_section *pOVar18;\n  uint uVar19;\n  pointer ppOVar20;\n  undefined *puVar21;\n  int *piVar22;\n  undefined *unaff_s5;\n  undefined *puVar23;\n  _func_int_varargs *p_Var24;\n  undefined *puVar25;\n  undefined *puVar26;\n  off_t oVar27;\n  longlong lVar28;\n  undefined4 in_stack_ffffff6c;\n  code *pcStack_90;\n  undefined *puStack_8c;\n  \n  if (-1 < *(int *)&file_header->field_0x20) {\n    bVar1 = file_header->field_0x20;\n    in_a3 = (undefined *)0x0;\n    file_header->field_0x20 = bVar1 & 0x7f | 0x80;\n    iVar6 = *(int *)&file_header->field_0x20;\n    *(undefined4 *)((int)&file_header->address_ + 4) = 0;\n    *(undefined4 *)&file_header->address_ = 0;\n    if (-1 < iVar6 << 2) {\n      in_a3 = (undefined *)0x0;\n      file_header->field_0x20 = bVar1 & 0x5f | 0xa0;\n      iVar6 = *(int *)&file_header->field_0x20;\n      *(undefined4 *)((int)&file_header->offset_ + 4) = 0;\n      *(undefined4 *)&file_header->offset_ = 0;\n      if ((iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)) {\n        unaff_s5 = PTR_do_addralign_00432ea8;\n        puVar21 = PTR_do_set_out_shndx_00432ea4;\n        ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        puVar26 = *(undefined **)&file_header->data_size_;\n        uVar19 = (uint)file_header->data_size_;\n        if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }\n        return CONCAT44(puVar26,uVar19);\n      }\nLAB_0011f5a0:\n      puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15);\nLAB_0011f5bc:\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);\n    }\nLAB_0011f5d4:\n    puVar15 = PTR_s_alize_xindex_004323b4 + -0x190c;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,puVar15)\n    ;\nLAB_0011f5f0:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604);\n  }\n  puVar16 = PTR_s_alize_xindex_004323b4 + -0x18fc;\n  puVar10 = PTR_s_alize_xindex_004323b4 + -0x4fe0;\n  puVar26 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar10,0x142);\n  puVar15 = puVar26 + 0x31abac;\n  piVar17 = *(int **)(puVar10 + 0x148);\n  piVar12 = *(int **)(puVar10 + 0x14c);\n  puVar21 = puVar16;\n  puStack_8c = in_a3;\n  if (piVar17 != piVar12) {\n    iVar6 = *(int *)(puVar26 + 0x312d90);\n    piVar22 = *(int **)(puVar26 + 0x3135bc);\n    puVar26 = in_a3;\n    puVar23 = puVar16;\n    puVar25 = puVar15;\n    do {\n      puVar5 = puVar26;\n      if ((*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))) {\n        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);\n        if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }\n        puVar5 = puVar26 + piVar12[5];\n        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];\n        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }\n        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);\n        piVar12 = *(int **)(puVar10 + 0x14c);\n        puVar25 = puVar15;\n      }\n      piVar17 = piVar17 + 1;\n      puVar26 = puVar5;\n    } while (piVar12 != piVar17);\n  }\n  return CONCAT44(puVar21,puStack_8c);\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "longlong lVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "pointer ppOVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "_func_int_varargs **pp_Var11;" type_identifier (pointer_declarator "**pp_Var11" * (pointer_declarator "*pp_Var11" * identifier)) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "Free_list *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "Output_section *pOVar18;" type_identifier (pointer_declarator "*pOVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "pointer ppOVar20;" type_identifier identifier ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "_func_int_varargs *p_Var24;" type_identifier (pointer_declarator "*p_Var24" * identifier) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "off_t oVar27;" type_identifier identifier ;) (declaration "longlong lVar28;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff6c;" type_identifier identifier ;) (declaration "code *pcStack_90;" type_identifier (pointer_declarator "*pcStack_90" * identifier) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (if_statement "if (-1 < *(int *)&file_header->field_0x20) {\n    bVar1 = file_header->field_0x20;\n    in_a3 = (undefined *)0x0;\n    file_header->field_0x20 = bVar1 & 0x7f | 0x80;\n    iVar6 = *(int *)&file_header->field_0x20;\n    *(undefined4 *)((int)&file_header->address_ + 4) = 0;\n    *(undefined4 *)&file_header->address_ = 0;\n    if (-1 < iVar6 << 2) {\n      in_a3 = (undefined *)0x0;\n      file_header->field_0x20 = bVar1 & 0x5f | 0xa0;\n      iVar6 = *(int *)&file_header->field_0x20;\n      *(undefined4 *)((int)&file_header->offset_ + 4) = 0;\n      *(undefined4 *)&file_header->offset_ = 0;\n      if ((iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)) {\n        unaff_s5 = PTR_do_addralign_00432ea8;\n        puVar21 = PTR_do_set_out_shndx_00432ea4;\n        ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        puVar26 = *(undefined **)&file_header->data_size_;\n        uVar19 = (uint)file_header->data_size_;\n        if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }\n        return CONCAT44(puVar26,uVar19);\n      }\nLAB_0011f5a0:\n      puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15);\nLAB_0011f5bc:\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);\n    }\nLAB_0011f5d4:\n    puVar15 = PTR_s_alize_xindex_004323b4 + -0x190c;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,puVar15)\n    ;\nLAB_0011f5f0:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604);\n  }" if (parenthesized_expression "(-1 < *(int *)&file_header->field_0x20)" ( (binary_expression "-1 < *(int *)&file_header->field_0x20" number_literal < (pointer_expression "*(int *)&file_header->field_0x20" * (cast_expression "(int *)&file_header->field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&file_header->field_0x20" & (field_expression "file_header->field_0x20" identifier -> field_identifier))))) )) (compound_statement "{\n    bVar1 = file_header->field_0x20;\n    in_a3 = (undefined *)0x0;\n    file_header->field_0x20 = bVar1 & 0x7f | 0x80;\n    iVar6 = *(int *)&file_header->field_0x20;\n    *(undefined4 *)((int)&file_header->address_ + 4) = 0;\n    *(undefined4 *)&file_header->address_ = 0;\n    if (-1 < iVar6 << 2) {\n      in_a3 = (undefined *)0x0;\n      file_header->field_0x20 = bVar1 & 0x5f | 0xa0;\n      iVar6 = *(int *)&file_header->field_0x20;\n      *(undefined4 *)((int)&file_header->offset_ + 4) = 0;\n      *(undefined4 *)&file_header->offset_ = 0;\n      if ((iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)) {\n        unaff_s5 = PTR_do_addralign_00432ea8;\n        puVar21 = PTR_do_set_out_shndx_00432ea4;\n        ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        puVar26 = *(undefined **)&file_header->data_size_;\n        uVar19 = (uint)file_header->data_size_;\n        if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }\n        return CONCAT44(puVar26,uVar19);\n      }\nLAB_0011f5a0:\n      puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15);\nLAB_0011f5bc:\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);\n    }\nLAB_0011f5d4:\n    puVar15 = PTR_s_alize_xindex_004323b4 + -0x190c;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,puVar15)\n    ;\nLAB_0011f5f0:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604);\n  }" { (expression_statement "bVar1 = file_header->field_0x20;" (assignment_expression "bVar1 = file_header->field_0x20" identifier = (field_expression "file_header->field_0x20" identifier -> field_identifier)) ;) (expression_statement "in_a3 = (undefined *)0x0;" (assignment_expression "in_a3 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "file_header->field_0x20 = bVar1 & 0x7f | 0x80;" (assignment_expression "file_header->field_0x20 = bVar1 & 0x7f | 0x80" (field_expression "file_header->field_0x20" identifier -> field_identifier) = (binary_expression "bVar1 & 0x7f | 0x80" (binary_expression "bVar1 & 0x7f" identifier & number_literal) | number_literal)) ;) (expression_statement "iVar6 = *(int *)&file_header->field_0x20;" (assignment_expression "iVar6 = *(int *)&file_header->field_0x20" identifier = (pointer_expression "*(int *)&file_header->field_0x20" * (cast_expression "(int *)&file_header->field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&file_header->field_0x20" & (field_expression "file_header->field_0x20" identifier -> field_identifier))))) ;) (expression_statement "*(undefined4 *)((int)&file_header->address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&file_header->address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&file_header->address_ + 4)" * (cast_expression "(undefined4 *)((int)&file_header->address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&file_header->address_ + 4)" ( (binary_expression "(int)&file_header->address_ + 4" (cast_expression "(int)&file_header->address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&file_header->address_" & (field_expression "file_header->address_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&file_header->address_ = 0;" (assignment_expression "*(undefined4 *)&file_header->address_ = 0" (pointer_expression "*(undefined4 *)&file_header->address_" * (cast_expression "(undefined4 *)&file_header->address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&file_header->address_" & (field_expression "file_header->address_" identifier -> field_identifier)))) = number_literal) ;) (if_statement "if (-1 < iVar6 << 2) {\n      in_a3 = (undefined *)0x0;\n      file_header->field_0x20 = bVar1 & 0x5f | 0xa0;\n      iVar6 = *(int *)&file_header->field_0x20;\n      *(undefined4 *)((int)&file_header->offset_ + 4) = 0;\n      *(undefined4 *)&file_header->offset_ = 0;\n      if ((iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)) {\n        unaff_s5 = PTR_do_addralign_00432ea8;\n        puVar21 = PTR_do_set_out_shndx_00432ea4;\n        ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        puVar26 = *(undefined **)&file_header->data_size_;\n        uVar19 = (uint)file_header->data_size_;\n        if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }\n        return CONCAT44(puVar26,uVar19);\n      }\nLAB_0011f5a0:\n      puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15);\nLAB_0011f5bc:\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);\n    }" if (parenthesized_expression "(-1 < iVar6 << 2)" ( (binary_expression "-1 < iVar6 << 2" number_literal < (binary_expression "iVar6 << 2" identifier << number_literal)) )) (compound_statement "{\n      in_a3 = (undefined *)0x0;\n      file_header->field_0x20 = bVar1 & 0x5f | 0xa0;\n      iVar6 = *(int *)&file_header->field_0x20;\n      *(undefined4 *)((int)&file_header->offset_ + 4) = 0;\n      *(undefined4 *)&file_header->offset_ = 0;\n      if ((iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)) {\n        unaff_s5 = PTR_do_addralign_00432ea8;\n        puVar21 = PTR_do_set_out_shndx_00432ea4;\n        ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        puVar26 = *(undefined **)&file_header->data_size_;\n        uVar19 = (uint)file_header->data_size_;\n        if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }\n        return CONCAT44(puVar26,uVar19);\n      }\nLAB_0011f5a0:\n      puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15);\nLAB_0011f5bc:\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);\n    }" { (expression_statement "in_a3 = (undefined *)0x0;" (assignment_expression "in_a3 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "file_header->field_0x20 = bVar1 & 0x5f | 0xa0;" (assignment_expression "file_header->field_0x20 = bVar1 & 0x5f | 0xa0" (field_expression "file_header->field_0x20" identifier -> field_identifier) = (binary_expression "bVar1 & 0x5f | 0xa0" (binary_expression "bVar1 & 0x5f" identifier & number_literal) | number_literal)) ;) (expression_statement "iVar6 = *(int *)&file_header->field_0x20;" (assignment_expression "iVar6 = *(int *)&file_header->field_0x20" identifier = (pointer_expression "*(int *)&file_header->field_0x20" * (cast_expression "(int *)&file_header->field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&file_header->field_0x20" & (field_expression "file_header->field_0x20" identifier -> field_identifier))))) ;) (expression_statement "*(undefined4 *)((int)&file_header->offset_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&file_header->offset_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&file_header->offset_ + 4)" * (cast_expression "(undefined4 *)((int)&file_header->offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&file_header->offset_ + 4)" ( (binary_expression "(int)&file_header->offset_ + 4" (cast_expression "(int)&file_header->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&file_header->offset_" & (field_expression "file_header->offset_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&file_header->offset_ = 0;" (assignment_expression "*(undefined4 *)&file_header->offset_ = 0" (pointer_expression "*(undefined4 *)&file_header->offset_" * (cast_expression "(undefined4 *)&file_header->offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&file_header->offset_" & (field_expression "file_header->offset_" identifier -> field_identifier)))) = number_literal) ;) (if_statement "if ((iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)) {\n        unaff_s5 = PTR_do_addralign_00432ea8;\n        puVar21 = PTR_do_set_out_shndx_00432ea4;\n        ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        puVar26 = *(undefined **)&file_header->data_size_;\n        uVar19 = (uint)file_header->data_size_;\n        if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }\n        return CONCAT44(puVar26,uVar19);\n      }" if (parenthesized_expression "((iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0))" ( (binary_expression "(iVar6 << 1 < 0) ||\n         ((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)" (parenthesized_expression "(iVar6 << 1 < 0)" ( (binary_expression "iVar6 << 1 < 0" (binary_expression "iVar6 << 1" identifier << number_literal) < number_literal) )) || (parenthesized_expression "((*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0)" ( (comma_expression "(*file_header->_vptr_Output_data[0xe])(file_header),\n         *(int *)&file_header->field_0x20 << 1 < 0" (call_expression "(*file_header->_vptr_Output_data[0xe])(file_header)" (parenthesized_expression "(*file_header->_vptr_Output_data[0xe])" ( (pointer_expression "*file_header->_vptr_Output_data[0xe]" * (subscript_expression "file_header->_vptr_Output_data[0xe]" (field_expression "file_header->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(file_header)" ( identifier ))) , (binary_expression "*(int *)&file_header->field_0x20 << 1 < 0" (binary_expression "*(int *)&file_header->field_0x20 << 1" (pointer_expression "*(int *)&file_header->field_0x20" * (cast_expression "(int *)&file_header->field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&file_header->field_0x20" & (field_expression "file_header->field_0x20" identifier -> field_identifier)))) << number_literal) < number_literal)) ))) )) (compound_statement "{\n        unaff_s5 = PTR_do_addralign_00432ea8;\n        puVar21 = PTR_do_set_out_shndx_00432ea4;\n        ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        puVar26 = *(undefined **)&file_header->data_size_;\n        uVar19 = (uint)file_header->data_size_;\n        if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }\n        return CONCAT44(puVar26,uVar19);\n      }" { (expression_statement "unaff_s5 = PTR_do_addralign_00432ea8;" (assignment_expression "unaff_s5 = PTR_do_addralign_00432ea8" identifier = identifier) ;) (expression_statement "puVar21 = PTR_do_set_out_shndx_00432ea4;" (assignment_expression "puVar21 = PTR_do_set_out_shndx_00432ea4" identifier = identifier) ;) (expression_statement "ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;" (field_expression "ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish" (field_expression "ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl" (binary_expression "ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar7 = (this->section_list_).\n                  super__Vector_base<gold" identifier = (binary_expression "(this->section_list_).\n                  super__Vector_base<gold" (field_expression "(this->section_list_).\n                  super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;" (field_expression "ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start" (field_expression "ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl" (binary_expression "ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar20 = (this->section_list_).\n                   super__Vector_base<gold" identifier = (binary_expression "(this->section_list_).\n                   super__Vector_base<gold" (field_expression "(this->section_list_).\n                   super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "puVar26 = *(undefined **)&file_header->data_size_;" (assignment_expression "puVar26 = *(undefined **)&file_header->data_size_" identifier = (pointer_expression "*(undefined **)&file_header->data_size_" * (cast_expression "(undefined **)&file_header->data_size_" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&file_header->data_size_" & (field_expression "file_header->data_size_" identifier -> field_identifier))))) ;) (expression_statement "uVar19 = (uint)file_header->data_size_;" (assignment_expression "uVar19 = (uint)file_header->data_size_" identifier = (cast_expression "(uint)file_header->data_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "file_header->data_size_" identifier -> field_identifier))) ;) (if_statement "if (ppOVar20 != ppOVar7) {\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }" if (parenthesized_expression "(ppOVar20 != ppOVar7)" ( (binary_expression "ppOVar20 != ppOVar7" identifier != identifier) )) (compound_statement "{\n          do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);\n        }" { (do_statement "do {\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          } while (ppOVar7 != ppOVar20);" do (compound_statement "{\n            pOVar18 = *ppOVar20;\n            if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }\n            ppOVar20 = ppOVar20 + 1;\n          }" { (expression_statement "pOVar18 = *ppOVar20;" (assignment_expression "pOVar18 = *ppOVar20" identifier = (pointer_expression "*ppOVar20" * identifier)) ;) (if_statement "if (((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)) {\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }" if (parenthesized_expression "(((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11))" ( (binary_expression "((pOVar18->flags_ & 2) != 0) || (pOVar18->type_ == 0x11)" (parenthesized_expression "((pOVar18->flags_ & 2) != 0)" ( (binary_expression "(pOVar18->flags_ & 2) != 0" (parenthesized_expression "(pOVar18->flags_ & 2)" ( (binary_expression "pOVar18->flags_ & 2" (field_expression "pOVar18->flags_" identifier -> field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(pOVar18->type_ == 0x11)" ( (binary_expression "pOVar18->type_ == 0x11" (field_expression "pOVar18->type_" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n              p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];\n              if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }\n              uVar9 = uVar19 - 1;\n              if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }\n              iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }\n              if (iVar6 << 2 < 0) goto LAB_0011f5d4;\n              bVar1 = (pOVar18->super_Output_data).field_0x20;\n              pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n              *(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;\n              *(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;\n              (pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;\n              if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }\n              ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;\n              *pshndx = *pshndx + 1;\n            }" { (expression_statement "p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3];" (assignment_expression "p_Var24 = (pOVar18->super_Output_data)._vptr_Output_data[3]" identifier = (subscript_expression "(pOVar18->super_Output_data)._vptr_Output_data[3]" (field_expression "(pOVar18->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var24 == (_func_int_varargs *)unaff_s5) {\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }\n              else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }" if (parenthesized_expression "(p_Var24 == (_func_int_varargs *)unaff_s5)" ( (binary_expression "p_Var24 == (_func_int_varargs *)unaff_s5" identifier == (cast_expression "(_func_int_varargs *)unaff_s5" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n                iVar6 = *(int *)&pOVar18->addralign_;\n                ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);\n              }" { (expression_statement "iVar6 = *(int *)&pOVar18->addralign_;" (assignment_expression "iVar6 = *(int *)&pOVar18->addralign_" identifier = (pointer_expression "*(int *)&pOVar18->addralign_" * (cast_expression "(int *)&pOVar18->addralign_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->addralign_" & (field_expression "pOVar18->addralign_" identifier -> field_identifier))))) ;) (expression_statement "ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4);" (assignment_expression "ppOVar7 = *(pointer *)((int)&pOVar18->addralign_ + 4)" identifier = (pointer_expression "*(pointer *)((int)&pOVar18->addralign_ + 4)" * (cast_expression "(pointer *)((int)&pOVar18->addralign_ + 4)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar18->addralign_ + 4)" ( (binary_expression "(int)&pOVar18->addralign_ + 4" (cast_expression "(int)&pOVar18->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar18->addralign_" & (field_expression "pOVar18->addralign_" identifier -> field_identifier))) + number_literal) ))))) ;) }) (else_clause "else {\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }" else (compound_statement "{\n                iVar6 = (*p_Var24)(pOVar18);\n                pOVar18 = *ppOVar20;\n              }" { (expression_statement "iVar6 = (*p_Var24)(pOVar18);" (assignment_expression "iVar6 = (*p_Var24)(pOVar18)" identifier = (call_expression "(*p_Var24)(pOVar18)" (parenthesized_expression "(*p_Var24)" ( (pointer_expression "*p_Var24" * identifier) )) (argument_list "(pOVar18)" ( identifier )))) ;) (expression_statement "pOVar18 = *ppOVar20;" (assignment_expression "pOVar18 = *ppOVar20" identifier = (pointer_expression "*ppOVar20" * identifier)) ;) }))) (expression_statement "uVar9 = uVar19 - 1;" (assignment_expression "uVar9 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (if_statement "if (iVar6 != 0 || ppOVar7 != (pointer)0x0) {\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }" if (parenthesized_expression "(iVar6 != 0 || ppOVar7 != (pointer)0x0)" ( (binary_expression "iVar6 != 0 || ppOVar7 != (pointer)0x0" (binary_expression "iVar6 != 0" identifier != number_literal) || (binary_expression "ppOVar7 != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) )) (compound_statement "{\n                bVar2 = uVar9 < uVar19;\n                in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);\n                uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;\n                puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);\n              }" { (expression_statement "bVar2 = uVar9 < uVar19;" (assignment_expression "bVar2 = uVar9 < uVar19" identifier = (binary_expression "uVar9 < uVar19" identifier < identifier)) ;) (expression_statement "in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6);" (assignment_expression "in_a3 = (undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6)" identifier = (cast_expression "(undefined *)(-(uint)(-(int)ppOVar7 != 0) - iVar6)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-(uint)(-(int)ppOVar7 != 0) - iVar6)" ( (binary_expression "-(uint)(-(int)ppOVar7 != 0) - iVar6" (unary_expression "-(uint)(-(int)ppOVar7 != 0)" - (call_expression "(uint)(-(int)ppOVar7 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-(int)ppOVar7 != 0)" ( (binary_expression "-(int)ppOVar7 != 0" (unary_expression "-(int)ppOVar7" - (cast_expression "(int)ppOVar7" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )))) - identifier) )))) ;) (expression_statement "uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7;" (assignment_expression "uVar19 = uVar9 + (int)ppOVar7 & -(int)ppOVar7" identifier = (binary_expression "uVar9 + (int)ppOVar7 & -(int)ppOVar7" (binary_expression "uVar9 + (int)ppOVar7" identifier + (cast_expression "(int)ppOVar7" ( (type_descriptor "int" primitive_type) ) identifier)) & (unary_expression "-(int)ppOVar7" - (cast_expression "(int)ppOVar7" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3);" (assignment_expression "puVar26 = (undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3)" identifier = (cast_expression "(undefined *)\n                          ((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3)" ( (binary_expression "(uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)) &\n                          (uint)in_a3" (call_expression "(uint)(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1))" ( (binary_expression "puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6 + (bVar2 - 1)" (binary_expression "puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9) + iVar6" (binary_expression "puVar26 +\n                                 (uint)(uVar9 + (int)ppOVar7 < uVar9)" identifier + (call_expression "(uint)(uVar9 + (int)ppOVar7 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 + (int)ppOVar7 < uVar9)" ( (binary_expression "uVar9 + (int)ppOVar7 < uVar9" (binary_expression "uVar9 + (int)ppOVar7" identifier + (cast_expression "(int)ppOVar7" ( (type_descriptor "int" primitive_type) ) identifier)) < identifier) )))) + identifier) + (parenthesized_expression "(bVar2 - 1)" ( (binary_expression "bVar2 - 1" identifier - number_literal) ))) ))) & (cast_expression "(uint)in_a3" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) })) (expression_statement "iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;" (assignment_expression "iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20" identifier = (pointer_expression "*(int *)&(pOVar18->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar18->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar18->super_Output_data).field_0x20" & (field_expression "(pOVar18->super_Output_data).field_0x20" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (-1 < iVar6) {\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (compound_statement "{\n                *(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;\n                bVar1 = (pOVar18->super_Output_data).field_0x20;\n                *(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;\n                (pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;\n                iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;\n              }" { (expression_statement "*(undefined4 *)&(pOVar18->super_Output_data).address_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar18->super_Output_data).address_ = 0" (pointer_expression "*(undefined4 *)&(pOVar18->super_Output_data).address_" * (cast_expression "(undefined4 *)&(pOVar18->super_Output_data).address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar18->super_Output_data).address_" & (field_expression "(pOVar18->super_Output_data).address_" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "bVar1 = (pOVar18->super_Output_data).field_0x20;" (assignment_expression "bVar1 = (pOVar18->super_Output_data).field_0x20" identifier = (field_expression "(pOVar18->super_Output_data).field_0x20" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar18->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar18->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(pOVar18->super_Output_data).address_ + 4" (cast_expression "(int)&(pOVar18->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar18->super_Output_data).address_" & (field_expression "(pOVar18->super_Output_data).address_" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "(pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80;" (assignment_expression "(pOVar18->super_Output_data).field_0x20 = bVar1 & 0x7f | 0x80" (field_expression "(pOVar18->super_Output_data).field_0x20" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (binary_expression "bVar1 & 0x7f | 0x80" (binary_expression "bVar1 & 0x7f" identifier & number_literal) | number_literal)) ;) (expression_statement "iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20;" (assignment_expression "iVar6 = *(int *)&(pOVar18->super_Output_data).field_0x20" identifier = (pointer_expression "*(int *)&(pOVar18->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar18->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar18->super_Output_data).field_0x20" & (field_expression "(pOVar18->super_Output_data).field_0x20" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) })) (if_statement "if (iVar6 << 2 < 0) goto LAB_0011f5d4;" if (parenthesized_expression "(iVar6 << 2 < 0)" ( (binary_expression "iVar6 << 2 < 0" (binary_expression "iVar6 << 2" identifier << number_literal) < number_literal) )) (goto_statement "goto LAB_0011f5d4;" goto statement_identifier ;)) (expression_statement "bVar1 = (pOVar18->super_Output_data).field_0x20;" (assignment_expression "bVar1 = (pOVar18->super_Output_data).field_0x20" identifier = (field_expression "(pOVar18->super_Output_data).field_0x20" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;" (assignment_expression "pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data" identifier = (field_expression "(pOVar18->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26;" (assignment_expression "*(undefined **)&(pOVar18->super_Output_data).offset_ = puVar26" (pointer_expression "*(undefined **)&(pOVar18->super_Output_data).offset_" * (cast_expression "(undefined **)&(pOVar18->super_Output_data).offset_" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pOVar18->super_Output_data).offset_" & (field_expression "(pOVar18->super_Output_data).offset_" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "*(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19;" (assignment_expression "*(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4) = uVar19" (pointer_expression "*(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4)" * (cast_expression "(uint *)((int)&(pOVar18->super_Output_data).offset_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar18->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(pOVar18->super_Output_data).offset_ + 4" (cast_expression "(int)&(pOVar18->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar18->super_Output_data).offset_" & (field_expression "(pOVar18->super_Output_data).offset_" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20;" (assignment_expression "(pOVar18->super_Output_data).field_0x20 = bVar1 & 0xdf | 0x20" (field_expression "(pOVar18->super_Output_data).field_0x20" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (binary_expression "bVar1 & 0xdf | 0x20" (binary_expression "bVar1 & 0xdf" identifier & number_literal) | number_literal)) ;) (if_statement "if (*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0) {\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }\n              else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }" if (parenthesized_expression "(*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0)" ( (binary_expression "*(int *)&(pOVar18->super_Output_data).field_0x20 << 1 < 0" (binary_expression "*(int *)&(pOVar18->super_Output_data).field_0x20 << 1" (pointer_expression "*(int *)&(pOVar18->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar18->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar18->super_Output_data).field_0x20" & (field_expression "(pOVar18->super_Output_data).field_0x20" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n                if (pOVar18->type_ != 8) goto LAB_0011f498;\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;\nLAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;\n                pOVar18->out_shndx_ = uVar9;\n              }" { (if_statement "if (pOVar18->type_ != 8) goto LAB_0011f498;" if (parenthesized_expression "(pOVar18->type_ != 8)" ( (binary_expression "pOVar18->type_ != 8" (field_expression "pOVar18->type_" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_0011f498;" goto statement_identifier ;)) (expression_statement "p_Var24 = pp_Var11[0xc];" (assignment_expression "p_Var24 = pp_Var11[0xc]" identifier = (subscript_expression "pp_Var11[0xc]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = *pshndx;" (assignment_expression "uVar9 = *pshndx" identifier = (pointer_expression "*pshndx" * identifier)) ;) (if_statement "if (p_Var24 != (_func_int_varargs *)puVar21) goto LAB_0011f54c;" if (parenthesized_expression "(p_Var24 != (_func_int_varargs *)puVar21)" ( (binary_expression "p_Var24 != (_func_int_varargs *)puVar21" identifier != (cast_expression "(_func_int_varargs *)puVar21" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_0011f54c;" goto statement_identifier ;)) (labeled_statement "LAB_0011f4c4:\n                if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;" statement_identifier : (if_statement "if ((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))\n                goto LAB_0011f5bc;" if (parenthesized_expression "((pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_))" ( (binary_expression "(pOVar18->out_shndx_ != 0xffffffff) &&\n                   (puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_)" (parenthesized_expression "(pOVar18->out_shndx_ != 0xffffffff)" ( (binary_expression "pOVar18->out_shndx_ != 0xffffffff" (field_expression "pOVar18->out_shndx_" identifier -> field_identifier) != number_literal) )) && (parenthesized_expression "(puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_)" ( (comma_expression "puVar15 = PTR_s_alize_xindex_004323b4, uVar9 != pOVar18->out_shndx_" (assignment_expression "puVar15 = PTR_s_alize_xindex_004323b4" identifier = identifier) , (binary_expression "uVar9 != pOVar18->out_shndx_" identifier != (field_expression "pOVar18->out_shndx_" identifier -> field_identifier))) ))) )) (goto_statement "goto LAB_0011f5bc;" goto statement_identifier ;))) (expression_statement "pOVar18->out_shndx_ = uVar9;" (assignment_expression "pOVar18->out_shndx_ = uVar9" (field_expression "pOVar18->out_shndx_" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }" else (compound_statement "{\n                (*pp_Var11[0xe])(pOVar18);\n                if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;\n                pOVar18 = *ppOVar20;\n                if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }\n                p_Var24 = pp_Var11[0xc];\n                uVar9 = *pshndx;\n                if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;\nLAB_0011f54c:\n                (*p_Var24)(pOVar18);\n              }" { (expression_statement "(*pp_Var11[0xe])(pOVar18);" (call_expression "(*pp_Var11[0xe])(pOVar18)" (parenthesized_expression "(*pp_Var11[0xe])" ( (pointer_expression "*pp_Var11[0xe]" * (subscript_expression "pp_Var11[0xe]" identifier [ number_literal ])) )) (argument_list "(pOVar18)" ( identifier ))) ;) (if_statement "if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5a0;" if (parenthesized_expression "(-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1)" ( (binary_expression "-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1" number_literal < (binary_expression "*(int *)&(pOVar18->super_Output_data).field_0x20 << 1" (pointer_expression "*(int *)&(pOVar18->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar18->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar18->super_Output_data).field_0x20" & (field_expression "(pOVar18->super_Output_data).field_0x20" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) << number_literal)) )) (goto_statement "goto LAB_0011f5a0;" goto statement_identifier ;)) (expression_statement "pOVar18 = *ppOVar20;" (assignment_expression "pOVar18 = *ppOVar20" identifier = (pointer_expression "*ppOVar20" * identifier)) ;) (if_statement "if (pOVar18->type_ == 8) {\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }\n                else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }" if (parenthesized_expression "(pOVar18->type_ == 8)" ( (binary_expression "pOVar18->type_ == 8" (field_expression "pOVar18->type_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\n                }" { (expression_statement "pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;" (assignment_expression "pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data" identifier = (field_expression "(pOVar18->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) }) (else_clause "else {\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }" else (compound_statement "{\n                  puVar15 = PTR_s_alize_xindex_004323b4;\n                  if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;\n                  pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;\nLAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;\n                  in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;\n                  puVar26 = in_a3 + (uVar9 < uVar19);\n                  uVar19 = uVar9;\n                }" { (expression_statement "puVar15 = PTR_s_alize_xindex_004323b4;" (assignment_expression "puVar15 = PTR_s_alize_xindex_004323b4" identifier = identifier) ;) (if_statement "if (-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1) goto LAB_0011f5f0;" if (parenthesized_expression "(-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1)" ( (binary_expression "-1 < *(int *)&(pOVar18->super_Output_data).field_0x20 << 1" number_literal < (binary_expression "*(int *)&(pOVar18->super_Output_data).field_0x20 << 1" (pointer_expression "*(int *)&(pOVar18->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar18->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar18->super_Output_data).field_0x20" & (field_expression "(pOVar18->super_Output_data).field_0x20" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) << number_literal)) )) (goto_statement "goto LAB_0011f5f0;" goto statement_identifier ;)) (expression_statement "pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data;" (assignment_expression "pp_Var11 = (pOVar18->super_Output_data)._vptr_Output_data" identifier = (field_expression "(pOVar18->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (labeled_statement "LAB_0011f498:\n                  uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;" statement_identifier : (expression_statement "uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_;" (assignment_expression "uVar9 = uVar19 + (int)(pOVar18->super_Output_data).data_size_" identifier = (binary_expression "uVar19 + (int)(pOVar18->super_Output_data).data_size_" identifier + (cast_expression "(int)(pOVar18->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar18->super_Output_data).data_size_" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) ;)) (expression_statement "in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_;" (assignment_expression "in_a3 = puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_" identifier = (binary_expression "puVar26 + *(int *)&(pOVar18->super_Output_data).data_size_" identifier + (pointer_expression "*(int *)&(pOVar18->super_Output_data).data_size_" * (cast_expression "(int *)&(pOVar18->super_Output_data).data_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar18->super_Output_data).data_size_" & (field_expression "(pOVar18->super_Output_data).data_size_" (parenthesized_expression "(pOVar18->super_Output_data)" ( (field_expression "pOVar18->super_Output_data" identifier -> field_identifier) )) . field_identifier)))))) ;) (expression_statement "puVar26 = in_a3 + (uVar9 < uVar19);" (assignment_expression "puVar26 = in_a3 + (uVar9 < uVar19)" identifier = (binary_expression "in_a3 + (uVar9 < uVar19)" identifier + (parenthesized_expression "(uVar9 < uVar19)" ( (binary_expression "uVar9 < uVar19" identifier < identifier) )))) ;) (expression_statement "uVar19 = uVar9;" (assignment_expression "uVar19 = uVar9" identifier = identifier) ;) }))) (expression_statement "p_Var24 = pp_Var11[0xc];" (assignment_expression "p_Var24 = pp_Var11[0xc]" identifier = (subscript_expression "pp_Var11[0xc]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = *pshndx;" (assignment_expression "uVar9 = *pshndx" identifier = (pointer_expression "*pshndx" * identifier)) ;) (if_statement "if (p_Var24 == (_func_int_varargs *)puVar21) goto LAB_0011f4c4;" if (parenthesized_expression "(p_Var24 == (_func_int_varargs *)puVar21)" ( (binary_expression "p_Var24 == (_func_int_varargs *)puVar21" identifier == (cast_expression "(_func_int_varargs *)puVar21" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_0011f4c4;" goto statement_identifier ;)) (labeled_statement "LAB_0011f54c:\n                (*p_Var24)(pOVar18);" statement_identifier : (expression_statement "(*p_Var24)(pOVar18);" (call_expression "(*p_Var24)(pOVar18)" (parenthesized_expression "(*p_Var24)" ( (pointer_expression "*p_Var24" * identifier) )) (argument_list "(pOVar18)" ( identifier ))) ;)) }))) (expression_statement "ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish;" (field_expression "ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish" (field_expression "ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl" (binary_expression "ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar7 = (this->section_list_).\n                        super__Vector_base<gold" identifier = (binary_expression "(this->section_list_).\n                        super__Vector_base<gold" (field_expression "(this->section_list_).\n                        super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*pshndx = *pshndx + 1;" (assignment_expression "*pshndx = *pshndx + 1" (pointer_expression "*pshndx" * identifier) = (binary_expression "*pshndx + 1" (pointer_expression "*pshndx" * identifier) + number_literal)) ;) })) (expression_statement "ppOVar20 = ppOVar20 + 1;" (assignment_expression "ppOVar20 = ppOVar20 + 1" identifier = (binary_expression "ppOVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppOVar7 != ppOVar20)" ( (binary_expression "ppOVar7 != ppOVar20" identifier != identifier) )) ;) })) (return_statement "return CONCAT44(puVar26,uVar19);" return (call_expression "CONCAT44(puVar26,uVar19)" identifier (argument_list "(puVar26,uVar19)" ( identifier , identifier ))) ;) })) (labeled_statement "LAB_0011f5a0:\n      puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;" statement_identifier : (expression_statement "puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848;" (assignment_expression "puVar15 = PTR_s_alize_xindex_004323b4 + -0x1848" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1848" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,puVar15)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0011f5bc:\n      (*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,puVar15 + -0x1920)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "puVar15 + -0x1920" identifier + number_literal) ))) ;)) })) (labeled_statement "LAB_0011f5d4:\n    puVar15 = PTR_s_alize_xindex_004323b4 + -0x190c;" statement_identifier : (expression_statement "puVar15 = PTR_s_alize_xindex_004323b4 + -0x190c;" (assignment_expression "puVar15 = PTR_s_alize_xindex_004323b4 + -0x190c" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x190c" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,puVar15)\n    ;" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,puVar15)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,puVar15)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0011f5f0:\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,puVar15 + -0x1604)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "puVar15 + -0x1604" identifier + number_literal) ))) ;)) })) (expression_statement "puVar16 = PTR_s_alize_xindex_004323b4 + -0x18fc;" (assignment_expression "puVar16 = PTR_s_alize_xindex_004323b4 + -0x18fc" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x18fc" identifier + number_literal)) ;) (expression_statement "puVar10 = PTR_s_alize_xindex_004323b4 + -0x4fe0;" (assignment_expression "puVar10 = PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal)) ;) (expression_statement "puVar26 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar26 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar10,0x142);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar10,0x142)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,0x142)" ( identifier , number_literal ))) ;) (expression_statement "puVar15 = puVar26 + 0x31abac;" (assignment_expression "puVar15 = puVar26 + 0x31abac" identifier = (binary_expression "puVar26 + 0x31abac" identifier + number_literal)) ;) (expression_statement "piVar17 = *(int **)(puVar10 + 0x148);" (assignment_expression "piVar17 = *(int **)(puVar10 + 0x148)" identifier = (pointer_expression "*(int **)(puVar10 + 0x148)" * (cast_expression "(int **)(puVar10 + 0x148)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x148)" ( (binary_expression "puVar10 + 0x148" identifier + number_literal) ))))) ;) (expression_statement "piVar12 = *(int **)(puVar10 + 0x14c);" (assignment_expression "piVar12 = *(int **)(puVar10 + 0x14c)" identifier = (pointer_expression "*(int **)(puVar10 + 0x14c)" * (cast_expression "(int **)(puVar10 + 0x14c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14c)" ( (binary_expression "puVar10 + 0x14c" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = puVar16;" (assignment_expression "puVar21 = puVar16" identifier = identifier) ;) (expression_statement "puStack_8c = in_a3;" (assignment_expression "puStack_8c = in_a3" identifier = identifier) ;) (if_statement "if (piVar17 != piVar12) {\n    iVar6 = *(int *)(puVar26 + 0x312d90);\n    piVar22 = *(int **)(puVar26 + 0x3135bc);\n    puVar26 = in_a3;\n    puVar23 = puVar16;\n    puVar25 = puVar15;\n    do {\n      puVar5 = puVar26;\n      if ((*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))) {\n        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);\n        if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }\n        puVar5 = puVar26 + piVar12[5];\n        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];\n        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }\n        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);\n        piVar12 = *(int **)(puVar10 + 0x14c);\n        puVar25 = puVar15;\n      }\n      piVar17 = piVar17 + 1;\n      puVar26 = puVar5;\n    } while (piVar12 != piVar17);\n  }" if (parenthesized_expression "(piVar17 != piVar12)" ( (binary_expression "piVar17 != piVar12" identifier != identifier) )) (compound_statement "{\n    iVar6 = *(int *)(puVar26 + 0x312d90);\n    piVar22 = *(int **)(puVar26 + 0x3135bc);\n    puVar26 = in_a3;\n    puVar23 = puVar16;\n    puVar25 = puVar15;\n    do {\n      puVar5 = puVar26;\n      if ((*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))) {\n        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);\n        if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }\n        puVar5 = puVar26 + piVar12[5];\n        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];\n        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }\n        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);\n        piVar12 = *(int **)(puVar10 + 0x14c);\n        puVar25 = puVar15;\n      }\n      piVar17 = piVar17 + 1;\n      puVar26 = puVar5;\n    } while (piVar12 != piVar17);\n  }" { (expression_statement "iVar6 = *(int *)(puVar26 + 0x312d90);" (assignment_expression "iVar6 = *(int *)(puVar26 + 0x312d90)" identifier = (pointer_expression "*(int *)(puVar26 + 0x312d90)" * (cast_expression "(int *)(puVar26 + 0x312d90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x312d90)" ( (binary_expression "puVar26 + 0x312d90" identifier + number_literal) ))))) ;) (expression_statement "piVar22 = *(int **)(puVar26 + 0x3135bc);" (assignment_expression "piVar22 = *(int **)(puVar26 + 0x3135bc)" identifier = (pointer_expression "*(int **)(puVar26 + 0x3135bc)" * (cast_expression "(int **)(puVar26 + 0x3135bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x3135bc)" ( (binary_expression "puVar26 + 0x3135bc" identifier + number_literal) ))))) ;) (expression_statement "puVar26 = in_a3;" (assignment_expression "puVar26 = in_a3" identifier = identifier) ;) (expression_statement "puVar23 = puVar16;" (assignment_expression "puVar23 = puVar16" identifier = identifier) ;) (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) (do_statement "do {\n      puVar5 = puVar26;\n      if ((*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))) {\n        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);\n        if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }\n        puVar5 = puVar26 + piVar12[5];\n        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];\n        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }\n        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);\n        piVar12 = *(int **)(puVar10 + 0x14c);\n        puVar25 = puVar15;\n      }\n      piVar17 = piVar17 + 1;\n      puVar26 = puVar5;\n    } while (piVar12 != piVar17);" do (compound_statement "{\n      puVar5 = puVar26;\n      if ((*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))) {\n        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);\n        if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }\n        puVar5 = puVar26 + piVar12[5];\n        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];\n        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }\n        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);\n        piVar12 = *(int **)(puVar10 + 0x14c);\n        puVar25 = puVar15;\n      }\n      piVar17 = piVar17 + 1;\n      puVar26 = puVar5;\n    }" { (expression_statement "puVar5 = puVar26;" (assignment_expression "puVar5 = puVar26" identifier = identifier) ;) (if_statement "if ((*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))) {\n        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);\n        if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }\n        puVar5 = puVar26 + piVar12[5];\n        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];\n        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }\n        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);\n        piVar12 = *(int **)(puVar10 + 0x14c);\n        puVar25 = puVar15;\n      }" if (parenthesized_expression "((*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1))))" ( (binary_expression "(*piVar17 != *(int *)(puVar10 + 0x180)) &&\n         ((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))" (parenthesized_expression "(*piVar17 != *(int *)(puVar10 + 0x180))" ( (binary_expression "*piVar17 != *(int *)(puVar10 + 0x180)" (pointer_expression "*piVar17" * identifier) != (pointer_expression "*(int *)(puVar10 + 0x180)" * (cast_expression "(int *)(puVar10 + 0x180)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x180)" ( (binary_expression "puVar10 + 0x180" identifier + number_literal) ))))) )) && (parenthesized_expression "((iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)))" ( (parenthesized_expression "(iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1))" ( (comma_expression "iVar4 = *(int *)(*piVar17 + 0x20), -1 < iVar4 << 2 || (-1 < iVar4 << 1)" (assignment_expression "iVar4 = *(int *)(*piVar17 + 0x20)" identifier = (pointer_expression "*(int *)(*piVar17 + 0x20)" * (cast_expression "(int *)(*piVar17 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar17 + 0x20)" ( (binary_expression "*piVar17 + 0x20" (pointer_expression "*piVar17" * identifier) + number_literal) ))))) , (binary_expression "-1 < iVar4 << 2 || (-1 < iVar4 << 1)" (binary_expression "-1 < iVar4 << 2" number_literal < (binary_expression "iVar4 << 2" identifier << number_literal)) || (parenthesized_expression "(-1 < iVar4 << 1)" ( (binary_expression "-1 < iVar4 << 1" number_literal < (binary_expression "iVar4 << 1" identifier << number_literal)) )))) )) ))) )) (compound_statement "{\n        iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);\n        if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }\n        puVar5 = puVar26 + piVar12[5];\n        puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];\n        if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }\n        (**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);\n        piVar12 = *(int **)(puVar10 + 0x14c);\n        puVar25 = puVar15;\n      }" { (expression_statement "iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22);" (assignment_expression "iVar4 = (**(code **)(puVar15 + -0x7320))(*piVar22)" identifier = (call_expression "(**(code **)(puVar15 + -0x7320))(*piVar22)" (parenthesized_expression "(**(code **)(puVar15 + -0x7320))" ( (pointer_expression "**(code **)(puVar15 + -0x7320)" * (pointer_expression "*(code **)(puVar15 + -0x7320)" * (cast_expression "(code **)(puVar15 + -0x7320)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x7320)" ( (binary_expression "puVar15 + -0x7320" identifier + number_literal) ))))) )) (argument_list "(*piVar22)" ( (pointer_expression "*piVar22" * identifier) )))) ;) (if_statement "if (iVar4 == 0) {\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }\n        else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          piVar12 = (int *)*piVar17;\n          if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }\n          if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }\n          puVar15 = puVar25;\n          if (piVar12[8] << 2 < 0) goto LAB_0011fc64;\n          piVar12[6] = (int)puVar23;\n          piVar12[7] = (int)puVar26;\n          *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }\n        }" { (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (if_statement "if (*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }\n          else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }" if (parenthesized_expression "(*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328))" ( (binary_expression "*(code **)(*piVar12 + 0xc) == *(code **)(puVar25 + -0x7328)" (pointer_expression "*(code **)(*piVar12 + 0xc)" * (cast_expression "(code **)(*piVar12 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0xc)" ( (binary_expression "*piVar12 + 0xc" (pointer_expression "*piVar12" * identifier) + number_literal) )))) == (pointer_expression "*(code **)(puVar25 + -0x7328)" * (cast_expression "(code **)(puVar25 + -0x7328)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7328)" ( (binary_expression "puVar25 + -0x7328" identifier + number_literal) ))))) )) (compound_statement "{\n            lVar28 = *(longlong *)(piVar12 + 10);\n          }" { (expression_statement "lVar28 = *(longlong *)(piVar12 + 10);" (assignment_expression "lVar28 = *(longlong *)(piVar12 + 10)" identifier = (pointer_expression "*(longlong *)(piVar12 + 10)" * (cast_expression "(longlong *)(piVar12 + 10)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 10)" ( (binary_expression "piVar12 + 10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }" else (compound_statement "{\n            lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);\n            piVar12 = (int *)*piVar17;\n          }" { (expression_statement "lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12);" (assignment_expression "lVar28 = (**(code **)(*piVar12 + 0xc))(piVar12)" identifier = (call_expression "(**(code **)(*piVar12 + 0xc))(piVar12)" (parenthesized_expression "(**(code **)(*piVar12 + 0xc))" ( (pointer_expression "**(code **)(*piVar12 + 0xc)" * (pointer_expression "*(code **)(*piVar12 + 0xc)" * (cast_expression "(code **)(*piVar12 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0xc)" ( (binary_expression "*piVar12 + 0xc" (pointer_expression "*piVar12" * identifier) + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier )))) ;) (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) }))) (if_statement "if (lVar28 != 0) {\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);\n            puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);\n            puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));\n          }" { (expression_statement "lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1);" (assignment_expression "lVar3 = lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1)" identifier = (binary_expression "lVar28 + CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1)" identifier + (call_expression "CONCAT44(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1)" identifier (argument_list "(puVar23 + ((puVar26 + -1 < puVar26) - 1),puVar26 + -1)" ( (binary_expression "puVar23 + ((puVar26 + -1 < puVar26) - 1)" identifier + (parenthesized_expression "((puVar26 + -1 < puVar26) - 1)" ( (binary_expression "(puVar26 + -1 < puVar26) - 1" (parenthesized_expression "(puVar26 + -1 < puVar26)" ( (binary_expression "puVar26 + -1 < puVar26" (binary_expression "puVar26 + -1" identifier + number_literal) < identifier) )) - number_literal) ))) , (binary_expression "puVar26 + -1" identifier + number_literal) ))))) ;) (expression_statement "puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28);" (assignment_expression "puVar26 = (undefined *)((uint)lVar3 & -(int)lVar28)" identifier = (cast_expression "(undefined *)((uint)lVar3 & -(int)lVar28)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)lVar3 & -(int)lVar28)" ( (binary_expression "(uint)lVar3 & -(int)lVar28" (cast_expression "(uint)lVar3" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-(int)lVar28" - (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20));" (assignment_expression "puVar23 = (undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20))" identifier = (cast_expression "(undefined *)\n                      ((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20))" ( (binary_expression "(uint)((ulonglong)lVar3 >> 0x20) &\n                      -(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20)" (call_expression "(uint)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) & (binary_expression "-(uint)(-(int)lVar28 != 0) - (int)((ulonglong)lVar28 >> 0x20)" (unary_expression "-(uint)(-(int)lVar28 != 0)" - (call_expression "(uint)(-(int)lVar28 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-(int)lVar28 != 0)" ( (binary_expression "-(int)lVar28 != 0" (unary_expression "-(int)lVar28" - (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )))) - (cast_expression "(int)((ulonglong)lVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar28 >> 0x20)" ( (binary_expression "(ulonglong)lVar28 >> 0x20" (cast_expression "(ulonglong)lVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) )))) ;) })) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) (if_statement "if (piVar12[8] << 2 < 0) goto LAB_0011fc64;" if (parenthesized_expression "(piVar12[8] << 2 < 0)" ( (binary_expression "piVar12[8] << 2 < 0" (binary_expression "piVar12[8] << 2" (subscript_expression "piVar12[8]" identifier [ number_literal ]) << number_literal) < number_literal) )) (goto_statement "goto LAB_0011fc64;" goto statement_identifier ;)) (expression_statement "piVar12[6] = (int)puVar23;" (assignment_expression "piVar12[6] = (int)puVar23" (subscript_expression "piVar12[6]" identifier [ number_literal ]) = (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar12[7] = (int)puVar26;" (assignment_expression "piVar12[7] = (int)puVar26" (subscript_expression "piVar12[7]" identifier [ number_literal ]) = (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;" (assignment_expression "*(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20" (pointer_expression "*(byte *)(piVar12 + 8)" * (cast_expression "(byte *)(piVar12 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 8)" ( (binary_expression "piVar12 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar12 + 8) & 0xdf | 0x20" (binary_expression "*(byte *)(piVar12 + 8) & 0xdf" (pointer_expression "*(byte *)(piVar12 + 8)" * (cast_expression "(byte *)(piVar12 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 8)" ( (binary_expression "piVar12 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (if_statement "if (-1 < piVar12[8] << 1) {\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }" if (parenthesized_expression "(-1 < piVar12[8] << 1)" ( (binary_expression "-1 < piVar12[8] << 1" number_literal < (binary_expression "piVar12[8] << 1" (subscript_expression "piVar12[8]" identifier [ number_literal ]) << number_literal)) )) (compound_statement "{\n            (**(code **)(*piVar12 + 0x38))(piVar12);\n            puVar15 = puVar25;\n            if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n            goto LAB_0011f7c0;\n          }" { (expression_statement "(**(code **)(*piVar12 + 0x38))(piVar12);" (call_expression "(**(code **)(*piVar12 + 0x38))(piVar12)" (parenthesized_expression "(**(code **)(*piVar12 + 0x38))" ( (pointer_expression "**(code **)(*piVar12 + 0x38)" * (pointer_expression "*(code **)(*piVar12 + 0x38)" * (cast_expression "(code **)(*piVar12 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x38)" ( (binary_expression "*piVar12 + 0x38" (pointer_expression "*piVar12" * identifier) + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier ))) ;) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) (if_statement "if (-1 < piVar12[8] << 1) goto LAB_0011fc48;" if (parenthesized_expression "(-1 < piVar12[8] << 1)" ( (binary_expression "-1 < piVar12[8] << 1" number_literal < (binary_expression "piVar12[8] << 1" (subscript_expression "piVar12[8]" identifier [ number_literal ]) << number_literal)) )) (goto_statement "goto LAB_0011fc48;" goto statement_identifier ;)) (goto_statement "goto LAB_0011f7c0;" goto statement_identifier ;) })) }) (else_clause "else {\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }" else (compound_statement "{\n          piVar12 = (int *)*piVar17;\n          iVar4 = *piVar12;\n          if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }\n          unaff_s5 = (undefined *)piVar12[4];\n          uVar19 = piVar12[5];\n          if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }\n          this_00 = (Free_list *)(puVar10 + 600);\n          oVar27 = Free_list::allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));\n          puVar5 = (undefined *)oVar27;\n          puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);\n          puVar26 = puVar5;\n          puVar15 = puVar25;\n          if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;\n          while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }\n          puVar8 = (undefined4 *)*piVar22;\n          if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }\n        }" { (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "iVar4 = *piVar12;" (assignment_expression "iVar4 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (if_statement "if (-1 < piVar12[8] << 1) {\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }" if (parenthesized_expression "(-1 < piVar12[8] << 1)" ( (binary_expression "-1 < piVar12[8] << 1" number_literal < (binary_expression "piVar12[8] << 1" (subscript_expression "piVar12[8]" identifier [ number_literal ]) << number_literal)) )) (compound_statement "{\n            (**(code **)(iVar4 + 0x34))();\n            piVar12 = (int *)*piVar17;\n            iVar4 = *piVar12;\n          }" { (expression_statement "(**(code **)(iVar4 + 0x34))();" (call_expression "(**(code **)(iVar4 + 0x34))()" (parenthesized_expression "(**(code **)(iVar4 + 0x34))" ( (pointer_expression "**(code **)(iVar4 + 0x34)" * (pointer_expression "*(code **)(iVar4 + 0x34)" * (cast_expression "(code **)(iVar4 + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "iVar4 = *piVar12;" (assignment_expression "iVar4 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) })) (expression_statement "unaff_s5 = (undefined *)piVar12[4];" (assignment_expression "unaff_s5 = (undefined *)piVar12[4]" identifier = (cast_expression "(undefined *)piVar12[4]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar12[4]" identifier [ number_literal ]))) ;) (expression_statement "uVar19 = piVar12[5];" (assignment_expression "uVar19 = piVar12[5]" identifier = (subscript_expression "piVar12[5]" identifier [ number_literal ])) ;) (if_statement "if (*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)) {\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }\n          else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }" if (parenthesized_expression "(*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328))" ( (binary_expression "*(code **)(iVar4 + 0xc) == *(code **)(puVar25 + -0x7328)" (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) == (pointer_expression "*(code **)(puVar25 + -0x7328)" * (cast_expression "(code **)(puVar25 + -0x7328)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7328)" ( (binary_expression "puVar25 + -0x7328" identifier + number_literal) ))))) )) (compound_statement "{\n            oVar27 = *(off_t *)(piVar12 + 10);\n          }" { (expression_statement "oVar27 = *(off_t *)(piVar12 + 10);" (assignment_expression "oVar27 = *(off_t *)(piVar12 + 10)" identifier = (pointer_expression "*(off_t *)(piVar12 + 10)" * (cast_expression "(off_t *)(piVar12 + 10)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 10)" ( (binary_expression "piVar12 + 10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }" else (compound_statement "{\n            oVar27 = (**(code **)(iVar4 + 0xc))();\n          }" { (expression_statement "oVar27 = (**(code **)(iVar4 + 0xc))();" (assignment_expression "oVar27 = (**(code **)(iVar4 + 0xc))()" identifier = (call_expression "(**(code **)(iVar4 + 0xc))()" (parenthesized_expression "(**(code **)(iVar4 + 0xc))" ( (pointer_expression "**(code **)(iVar4 + 0xc)" * (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (expression_statement "this_00 = (Free_list *)(puVar10 + 600);" (assignment_expression "this_00 = (Free_list *)(puVar10 + 600)" identifier = (cast_expression "(Free_list *)(puVar10 + 600)" ( (type_descriptor "Free_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 600)" ( (binary_expression "puVar10 + 600" identifier + number_literal) )))) ;) (ERROR "oVar27 = Free_list::" (assignment_expression "oVar27 = Free_list" identifier = identifier) : :) (expression_statement "allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c));" (call_expression "allocate(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c))" identifier (argument_list "(this_00,oVar27,CONCAT44(puVar16,in_a3),\n                                       CONCAT44(puVar25,in_stack_ffffff6c))" ( identifier , identifier , (call_expression "CONCAT44(puVar16,in_a3)" identifier (argument_list "(puVar16,in_a3)" ( identifier , identifier ))) , (call_expression "CONCAT44(puVar25,in_stack_ffffff6c)" identifier (argument_list "(puVar25,in_stack_ffffff6c)" ( identifier , identifier ))) ))) ;) (expression_statement "puVar5 = (undefined *)oVar27;" (assignment_expression "puVar5 = (undefined *)oVar27" identifier = (cast_expression "(undefined *)oVar27" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20);" (assignment_expression "puVar23 = (undefined *)((ulonglong)oVar27 >> 0x20)" identifier = (cast_expression "(undefined *)((ulonglong)oVar27 >> 0x20)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)oVar27 >> 0x20)" ( (binary_expression "(ulonglong)oVar27 >> 0x20" (cast_expression "(ulonglong)oVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar26 = puVar5;" (assignment_expression "puVar26 = puVar5" identifier = identifier) ;) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) (if_statement "if (puVar23 == (undefined *)0xffffffff) goto LAB_0011fb58;" if (parenthesized_expression "(puVar23 == (undefined *)0xffffffff)" ( (binary_expression "puVar23 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011fb58;" goto statement_identifier ;)) (while_statement "while( true ) {\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            piVar12 = (int *)*piVar17;\n            iVar4 = *(int *)(puVar25 + -0x7e1c);\n            if (piVar12[8] << 2 < 0) goto LAB_0011fc68;\n            piVar12[6] = (int)puVar23;\n            piVar12[7] = (int)puVar26;\n            *(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;\n            if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }\n            if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;\n            pcStack_90 = *(code **)(puVar25 + -0x7318);\n            if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }\n            pcVar14 = *(code **)(puVar25 + -0x39b8);\n            iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;\n            while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }\n          }" { (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "iVar4 = *(int *)(puVar25 + -0x7e1c);" (assignment_expression "iVar4 = *(int *)(puVar25 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (piVar12[8] << 2 < 0) goto LAB_0011fc68;" if (parenthesized_expression "(piVar12[8] << 2 < 0)" ( (binary_expression "piVar12[8] << 2 < 0" (binary_expression "piVar12[8] << 2" (subscript_expression "piVar12[8]" identifier [ number_literal ]) << number_literal) < number_literal) )) (goto_statement "goto LAB_0011fc68;" goto statement_identifier ;)) (expression_statement "piVar12[6] = (int)puVar23;" (assignment_expression "piVar12[6] = (int)puVar23" (subscript_expression "piVar12[6]" identifier [ number_literal ]) = (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar12[7] = (int)puVar26;" (assignment_expression "piVar12[7] = (int)puVar26" (subscript_expression "piVar12[7]" identifier [ number_literal ]) = (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20;" (assignment_expression "*(byte *)(piVar12 + 8) = *(byte *)(piVar12 + 8) & 0xdf | 0x20" (pointer_expression "*(byte *)(piVar12 + 8)" * (cast_expression "(byte *)(piVar12 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 8)" ( (binary_expression "piVar12 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar12 + 8) & 0xdf | 0x20" (binary_expression "*(byte *)(piVar12 + 8) & 0xdf" (pointer_expression "*(byte *)(piVar12 + 8)" * (cast_expression "(byte *)(piVar12 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 8)" ( (binary_expression "piVar12 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (if_statement "if (-1 < piVar12[8] << 1) {\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }" if (parenthesized_expression "(-1 < piVar12[8] << 1)" ( (binary_expression "-1 < piVar12[8] << 1" number_literal < (binary_expression "piVar12[8] << 1" (subscript_expression "piVar12[8]" identifier [ number_literal ]) << number_literal)) )) (compound_statement "{\n              puVar25 = puVar15;\n              (**(code **)(*piVar12 + 0x38))(piVar12);\n              puVar15 = puVar25;\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc48;\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              if (-1 < piVar12[8] << 1) goto LAB_0011fc30;\n            }" { (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) (expression_statement "(**(code **)(*piVar12 + 0x38))(piVar12);" (call_expression "(**(code **)(*piVar12 + 0x38))(piVar12)" (parenthesized_expression "(**(code **)(*piVar12 + 0x38))" ( (pointer_expression "**(code **)(*piVar12 + 0x38)" * (pointer_expression "*(code **)(*piVar12 + 0x38)" * (cast_expression "(code **)(*piVar12 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x38)" ( (binary_expression "*piVar12 + 0x38" (pointer_expression "*piVar12" * identifier) + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier ))) ;) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) (if_statement "if (-1 < piVar12[8] << 1) goto LAB_0011fc48;" if (parenthesized_expression "(-1 < piVar12[8] << 1)" ( (binary_expression "-1 < piVar12[8] << 1" number_literal < (binary_expression "piVar12[8] << 1" (subscript_expression "piVar12[8]" identifier [ number_literal ]) << number_literal)) )) (goto_statement "goto LAB_0011fc48;" goto statement_identifier ;)) (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "iVar4 = *(int *)(puVar25 + -0x7e1c);" (assignment_expression "iVar4 = *(int *)(puVar25 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < piVar12[8] << 1) goto LAB_0011fc30;" if (parenthesized_expression "(-1 < piVar12[8] << 1)" ( (binary_expression "-1 < piVar12[8] << 1" number_literal < (binary_expression "piVar12[8] << 1" (subscript_expression "piVar12[8]" identifier [ number_literal ]) << number_literal)) )) (goto_statement "goto LAB_0011fc30;" goto statement_identifier ;)) })) (if_statement "if ((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))) break;" if (parenthesized_expression "((piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0))))" ( (binary_expression "(piVar12[4] <= (int)unaff_s5) &&\n               (((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))" (parenthesized_expression "(piVar12[4] <= (int)unaff_s5)" ( (binary_expression "piVar12[4] <= (int)unaff_s5" (subscript_expression "piVar12[4]" identifier [ number_literal ]) <= (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)))" ( (parenthesized_expression "((undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0))" ( (binary_expression "(undefined *)piVar12[4] != unaff_s5 ||\n                (uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)" (binary_expression "(undefined *)piVar12[4] != unaff_s5" (cast_expression "(undefined *)piVar12[4]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar12[4]" identifier [ number_literal ])) != identifier) || (parenthesized_expression "(uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0)" ( (comma_expression "uVar19 = (uint)(uVar19 < (uint)piVar12[5]), uVar19 == 0" (assignment_expression "uVar19 = (uint)(uVar19 < (uint)piVar12[5])" identifier = (call_expression "(uint)(uVar19 < (uint)piVar12[5])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < (uint)piVar12[5])" ( (binary_expression "uVar19 < (uint)piVar12[5]" identifier < (cast_expression "(uint)piVar12[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar12[5]" identifier [ number_literal ]))) )))) , (binary_expression "uVar19 == 0" identifier == number_literal)) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "pcStack_90 = *(code **)(puVar25 + -0x7318);" (assignment_expression "pcStack_90 = *(code **)(puVar25 + -0x7318)" identifier = (pointer_expression "*(code **)(puVar25 + -0x7318)" * (cast_expression "(code **)(puVar25 + -0x7318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7318)" ( (binary_expression "puVar25 + -0x7318" identifier + number_literal) ))))) ;) (if_statement "if ((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)) {\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }" if (parenthesized_expression "((*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0))" ( (binary_expression "(*(code **)(*piVar12 + 0x24) != pcStack_90) &&\n               (puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)" (parenthesized_expression "(*(code **)(*piVar12 + 0x24) != pcStack_90)" ( (binary_expression "*(code **)(*piVar12 + 0x24) != pcStack_90" (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) )))) != identifier) )) && (parenthesized_expression "(puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0)" ( (comma_expression "puVar25 = puVar15, iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0" (assignment_expression "puVar25 = puVar15" identifier = identifier) , (comma_expression "iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12),\n               puVar15 = puVar25, iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12)" identifier = (call_expression "(**(code **)(*piVar12 + 0x24))(piVar12)" (parenthesized_expression "(**(code **)(*piVar12 + 0x24))" ( (pointer_expression "**(code **)(*piVar12 + 0x24)" * (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier )))) , (comma_expression "puVar15 = puVar25, iVar4 == 0" (assignment_expression "puVar15 = puVar25" identifier = identifier) , (binary_expression "iVar4 == 0" identifier == number_literal)))) ))) )) (compound_statement "{\n              uVar13 = 0x108a;\n              goto LAB_0011fbec;\n            }" { (expression_statement "uVar13 = 0x108a;" (assignment_expression "uVar13 = 0x108a" identifier = number_literal) ;) (goto_statement "goto LAB_0011fbec;" goto statement_identifier ;) })) (expression_statement "pcVar14 = *(code **)(puVar25 + -0x39b8);" (assignment_expression "pcVar14 = *(code **)(puVar25 + -0x39b8)" identifier = (pointer_expression "*(code **)(puVar25 + -0x39b8)" * (cast_expression "(code **)(puVar25 + -0x39b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x39b8)" ( (binary_expression "puVar25 + -0x39b8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c;" (assignment_expression "iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x299c" identifier = (binary_expression "*(int *)(puVar25 + -0x7e1c) + -0x299c" (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal)) ;) (while_statement "while( true ) {\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar26 = (undefined *)(*pcVar14)(iVar4);\n              piVar12 = (int *)*piVar17;\n              puVar25 = puVar15;\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }\n              this_00 = (Free_list *)piVar12[9];\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7314))(puVar26);\n              puVar5 = extraout_v1;\nLAB_0011fb58:\n              if (puVar5 != puVar23) break;\n              if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }\n              piVar12 = (int *)*piVar17;\n              pcStack_90 = *(code **)(puVar25 + -0x7318);\n              if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n              pcVar14 = *(code **)(puVar25 + -0x39b8);\n              if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }\n              iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;\n            }" { (expression_statement "puVar26 = (undefined *)(*pcVar14)(iVar4);" (assignment_expression "puVar26 = (undefined *)(*pcVar14)(iVar4)" identifier = (cast_expression "(undefined *)(*pcVar14)(iVar4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar14)(iVar4)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(iVar4)" ( identifier ))))) ;) (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) (if_statement "if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }" if (parenthesized_expression "(*(code **)(*piVar12 + 0x24) != pcStack_90)" ( (binary_expression "*(code **)(*piVar12 + 0x24) != pcStack_90" (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();\n                puVar25 = puVar15;\n              }" { (expression_statement "piVar12 = (int *)(**(code **)(*piVar12 + 0x24))();" (assignment_expression "piVar12 = (int *)(**(code **)(*piVar12 + 0x24))()" identifier = (cast_expression "(int *)(**(code **)(*piVar12 + 0x24))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar12 + 0x24))()" (parenthesized_expression "(**(code **)(*piVar12 + 0x24))" ( (pointer_expression "**(code **)(*piVar12 + 0x24)" * (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) })) (expression_statement "this_00 = (Free_list *)piVar12[9];" (assignment_expression "this_00 = (Free_list *)piVar12[9]" identifier = (cast_expression "(Free_list *)piVar12[9]" ( (type_descriptor "Free_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar12[9]" identifier [ number_literal ]))) ;) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) (expression_statement "(**(code **)(puVar25 + -0x7314))(puVar26);" (call_expression "(**(code **)(puVar25 + -0x7314))(puVar26)" (parenthesized_expression "(**(code **)(puVar25 + -0x7314))" ( (pointer_expression "**(code **)(puVar25 + -0x7314)" * (pointer_expression "*(code **)(puVar25 + -0x7314)" * (cast_expression "(code **)(puVar25 + -0x7314)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7314)" ( (binary_expression "puVar25 + -0x7314" identifier + number_literal) ))))) )) (argument_list "(puVar26)" ( identifier ))) ;) (expression_statement "puVar5 = extraout_v1;" (assignment_expression "puVar5 = extraout_v1" identifier = identifier) ;) (labeled_statement "LAB_0011fb58:\n              if (puVar5 != puVar23) break;" statement_identifier : (if_statement "if (puVar5 != puVar23) break;" if (parenthesized_expression "(puVar5 != puVar23)" ( (binary_expression "puVar5 != puVar23" identifier != identifier) )) (break_statement "break;" break ;))) (if_statement "if ((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)) {\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }" if (parenthesized_expression "((*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0))" ( (binary_expression "(*(int *)(*piVar22 + 8) != 0) && ((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)" (parenthesized_expression "(*(int *)(*piVar22 + 8) != 0)" ( (binary_expression "*(int *)(*piVar22 + 8) != 0" (pointer_expression "*(int *)(*piVar22 + 8)" * (cast_expression "(int *)(*piVar22 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar22 + 8)" ( (binary_expression "*piVar22 + 8" (pointer_expression "*piVar22" * identifier) + number_literal) )))) != number_literal) )) && (parenthesized_expression "((*(uint *)(*piVar22 + 0x14) & 0x10) != 0)" ( (binary_expression "(*(uint *)(*piVar22 + 0x14) & 0x10) != 0" (parenthesized_expression "(*(uint *)(*piVar22 + 0x14) & 0x10)" ( (binary_expression "*(uint *)(*piVar22 + 0x14) & 0x10" (pointer_expression "*(uint *)(*piVar22 + 0x14)" * (cast_expression "(uint *)(*piVar22 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar22 + 0x14)" ( (binary_expression "*piVar22 + 0x14" (pointer_expression "*piVar22" * identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                puVar25 = puVar15;\n                Free_list::dump(this_00);\n                puVar15 = puVar25;\n              }" { (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) (labeled_statement "Free_list::dump(this_00);" statement_identifier : (ERROR ":" :) (expression_statement "dump(this_00);" (call_expression "dump(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;)) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) })) (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "pcStack_90 = *(code **)(puVar25 + -0x7318);" (assignment_expression "pcStack_90 = *(code **)(puVar25 + -0x7318)" identifier = (pointer_expression "*(code **)(puVar25 + -0x7318)" * (cast_expression "(code **)(puVar25 + -0x7318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7318)" ( (binary_expression "puVar25 + -0x7318" identifier + number_literal) ))))) ;) (if_statement "if (*(code **)(*piVar12 + 0x24) != pcStack_90) {\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }" if (parenthesized_expression "(*(code **)(*piVar12 + 0x24) != pcStack_90)" ( (binary_expression "*(code **)(*piVar12 + 0x24) != pcStack_90" (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                puVar25 = puVar15;\n                piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }" { (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) (expression_statement "piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12);" (assignment_expression "piVar12 = (int *)(**(code **)(*piVar12 + 0x24))(piVar12)" identifier = (cast_expression "(int *)(**(code **)(*piVar12 + 0x24))(piVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar12 + 0x24))(piVar12)" (parenthesized_expression "(**(code **)(*piVar12 + 0x24))" ( (pointer_expression "**(code **)(*piVar12 + 0x24)" * (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier ))))) ;) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) })) (expression_statement "pcVar14 = *(code **)(puVar25 + -0x39b8);" (assignment_expression "pcVar14 = *(code **)(puVar25 + -0x39b8)" identifier = (pointer_expression "*(code **)(puVar25 + -0x39b8)" * (cast_expression "(code **)(puVar25 + -0x39b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x39b8)" ( (binary_expression "puVar25 + -0x39b8" identifier + number_literal) ))))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );\n              }" { (do_statement "do {\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                } while( true );" do (compound_statement "{\n                  uVar13 = 0x1081;\nLAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);\n                }" { (expression_statement "uVar13 = 0x1081;" (assignment_expression "uVar13 = 0x1081" identifier = number_literal) ;) (labeled_statement "LAB_0011fbec:\n                  (**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);" statement_identifier : (expression_statement "(**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934);" (call_expression "(**(code **)(puVar25 + -0x7e0c))\n                            (*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934)" (parenthesized_expression "(**(code **)(puVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar25 + -0x7e0c)" * (pointer_expression "*(code **)(puVar25 + -0x7e0c)" * (cast_expression "(code **)(puVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7e0c)" ( (binary_expression "puVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar25 + -0x7e1c) + -0x2c4c,uVar13,\n                             *(int *)(puVar25 + -0x7e1c) + -0x1934)" ( (binary_expression "*(int *)(puVar25 + -0x7e1c) + -0x2c4c" (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(puVar25 + -0x7e1c) + -0x1934" (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0;" (assignment_expression "iVar4 = *(int *)(puVar25 + -0x7e1c) + -0x29e0" identifier = (binary_expression "*(int *)(puVar25 + -0x7e1c) + -0x29e0" (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal)) ;) })) })) (expression_statement "puVar8 = (undefined4 *)*piVar22;" (assignment_expression "puVar8 = (undefined4 *)*piVar22" identifier = (cast_expression "(undefined4 *)*piVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) ;) (if_statement "if ((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             ) {\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }" if (parenthesized_expression "((puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)\n             )" ( (binary_expression "(puVar8[2] != 0) && (pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)" (parenthesized_expression "(puVar8[2] != 0)" ( (binary_expression "puVar8[2] != 0" (subscript_expression "puVar8[2]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0)" ( (comma_expression "pcVar14 = *(code **)(puVar25 + -0x7318), (puVar8[5] & 0x10) != 0" (assignment_expression "pcVar14 = *(code **)(puVar25 + -0x7318)" identifier = (pointer_expression "*(code **)(puVar25 + -0x7318)" * (cast_expression "(code **)(puVar25 + -0x7318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7318)" ( (binary_expression "puVar25 + -0x7318" identifier + number_literal) ))))) , (binary_expression "(puVar8[5] & 0x10) != 0" (parenthesized_expression "(puVar8[5] & 0x10)" ( (binary_expression "puVar8[5] & 0x10" (subscript_expression "puVar8[5]" identifier [ number_literal ]) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            unaff_s5 = (undefined *)*puVar8;\n            if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;\n            puVar25 = puVar15;\n            iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);\n            puVar15 = puVar25;\n            if (iVar4 != 0) goto LAB_0011fc80;\n            while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }\n          }" { (expression_statement "unaff_s5 = (undefined *)*puVar8;" (assignment_expression "unaff_s5 = (undefined *)*puVar8" identifier = (cast_expression "(undefined *)*puVar8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (if_statement "if (*(code **)(*piVar12 + 0x24) == pcVar14) goto LAB_0011f9f4;" if (parenthesized_expression "(*(code **)(*piVar12 + 0x24) == pcVar14)" ( (binary_expression "*(code **)(*piVar12 + 0x24) == pcVar14" (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0011f9f4;" goto statement_identifier ;)) (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12);" (assignment_expression "iVar4 = (**(code **)(*piVar12 + 0x24))(piVar12)" identifier = (call_expression "(**(code **)(*piVar12 + 0x24))(piVar12)" (parenthesized_expression "(**(code **)(*piVar12 + 0x24))" ( (pointer_expression "**(code **)(*piVar12 + 0x24)" * (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier )))) ;) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) (if_statement "if (iVar4 != 0) goto LAB_0011fc80;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011fc80;" goto statement_identifier ;)) (while_statement "while( true ) {\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              (**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);\n              puVar25 = puVar15;\nLAB_0011f7c0:\n              piVar12 = (int *)*piVar17;\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\n              puVar15 = puVar25;\n              if (piVar12[8] << 1 < 0) break;\nLAB_0011fc30:\n              puVar15 = puVar25;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);\nLAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);\nLAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);\nLAB_0011fc68:\n              pcVar14 = (code *)0x14b;\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);\nLAB_0011fc80:\n              piVar12 = (int *)*piVar17;\nLAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }\n            }" { (expression_statement "(**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26);" (call_expression "(**(code **)(puVar25 + -0x74f0))(unaff_s5,iVar6 + -0x2960,puVar26)" (parenthesized_expression "(**(code **)(puVar25 + -0x74f0))" ( (pointer_expression "**(code **)(puVar25 + -0x74f0)" * (pointer_expression "*(code **)(puVar25 + -0x74f0)" * (cast_expression "(code **)(puVar25 + -0x74f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x74f0)" ( (binary_expression "puVar25 + -0x74f0" identifier + number_literal) ))))) )) (argument_list "(unaff_s5,iVar6 + -0x2960,puVar26)" ( identifier , (binary_expression "iVar6 + -0x2960" identifier + number_literal) , identifier ))) ;) (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) (labeled_statement "LAB_0011f7c0:\n              piVar12 = (int *)*piVar17;" statement_identifier : (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;)) (expression_statement "iVar4 = *(int *)(puVar25 + -0x7e1c);" (assignment_expression "iVar4 = *(int *)(puVar25 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) (if_statement "if (piVar12[8] << 1 < 0) break;" if (parenthesized_expression "(piVar12[8] << 1 < 0)" ( (binary_expression "piVar12[8] << 1 < 0" (binary_expression "piVar12[8] << 1" (subscript_expression "piVar12[8]" identifier [ number_literal ]) << number_literal) < number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0011fc30:\n              puVar15 = puVar25;" statement_identifier : (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;)) (expression_statement "(**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604);" (call_expression "(**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604)" (parenthesized_expression "(**(code **)(puVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar25 + -0x7e0c)" * (pointer_expression "*(code **)(puVar25 + -0x7e0c)" * (cast_expression "(code **)(puVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7e0c)" ( (binary_expression "puVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0xcf,iVar4 + -0x1604)" ( (binary_expression "*(int *)(puVar25 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar4 + -0x1604" identifier + number_literal) ))) ;) (labeled_statement "LAB_0011fc48:\n              (**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);" statement_identifier : (expression_statement "(**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848);" (call_expression "(**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848)" (parenthesized_expression "(**(code **)(puVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar25 + -0x7e0c)" * (pointer_expression "*(code **)(puVar25 + -0x7e0c)" * (cast_expression "(code **)(puVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7e0c)" ( (binary_expression "puVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x163,\n                         *(int *)(puVar25 + -0x7e1c) + -0x1848)" ( (binary_expression "*(int *)(puVar25 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar25 + -0x7e1c) + -0x1848" (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_0011fc64:\n              iVar4 = *(int *)(puVar25 + -0x7e1c);" statement_identifier : (expression_statement "iVar4 = *(int *)(puVar25 + -0x7e1c);" (assignment_expression "iVar4 = *(int *)(puVar25 + -0x7e1c)" identifier = (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0011fc68:\n              pcVar14 = (code *)0x14b;" statement_identifier : (expression_statement "pcVar14 = (code *)0x14b;" (assignment_expression "pcVar14 = (code *)0x14b" identifier = (cast_expression "(code *)0x14b" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c);" (call_expression "(**(code **)(puVar25 + -0x7e0c))\n                        (*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c)" (parenthesized_expression "(**(code **)(puVar25 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar25 + -0x7e0c)" * (pointer_expression "*(code **)(puVar25 + -0x7e0c)" * (cast_expression "(code **)(puVar25 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7e0c)" ( (binary_expression "puVar25 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar25 + -0x7e1c) + -0x4fe0,0x14b,iVar4 + -0x190c)" ( (binary_expression "*(int *)(puVar25 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(puVar25 + -0x7e1c)" * (cast_expression "(int *)(puVar25 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x7e1c)" ( (binary_expression "puVar25 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar4 + -0x190c" identifier + number_literal) ))) ;) (labeled_statement "LAB_0011fc80:\n              piVar12 = (int *)*piVar17;" statement_identifier : (expression_statement "piVar12 = (int *)*piVar17;" (assignment_expression "piVar12 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;)) (labeled_statement "LAB_0011f9f4:\n              if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }" statement_identifier : (if_statement "if (*(code **)(*piVar12 + 0x24) != pcVar14) {\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }" if (parenthesized_expression "(*(code **)(*piVar12 + 0x24) != pcVar14)" ( (binary_expression "*(code **)(*piVar12 + 0x24) != pcVar14" (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                puVar25 = puVar15;\n                (**(code **)(*piVar12 + 0x24))(piVar12);\n                puVar15 = puVar25;\n              }" { (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) (expression_statement "(**(code **)(*piVar12 + 0x24))(piVar12);" (call_expression "(**(code **)(*piVar12 + 0x24))(piVar12)" (parenthesized_expression "(**(code **)(*piVar12 + 0x24))" ( (pointer_expression "**(code **)(*piVar12 + 0x24)" * (pointer_expression "*(code **)(*piVar12 + 0x24)" * (cast_expression "(code **)(*piVar12 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar12 + 0x24)" ( (binary_expression "*piVar12 + 0x24" (pointer_expression "*piVar12" * identifier) + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier ))) ;) (expression_statement "puVar15 = puVar25;" (assignment_expression "puVar15 = puVar25" identifier = identifier) ;) }))) })) })) }))) (expression_statement "puVar5 = puVar26 + piVar12[5];" (assignment_expression "puVar5 = puVar26 + piVar12[5]" identifier = (binary_expression "puVar26 + piVar12[5]" identifier + (subscript_expression "piVar12[5]" identifier [ number_literal ]))) ;) (expression_statement "puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4];" (assignment_expression "puVar23 = puVar23 + (uint)(puVar5 < puVar26) + piVar12[4]" identifier = (binary_expression "puVar23 + (uint)(puVar5 < puVar26) + piVar12[4]" (binary_expression "puVar23 + (uint)(puVar5 < puVar26)" identifier + (call_expression "(uint)(puVar5 < puVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar5 < puVar26)" ( (binary_expression "puVar5 < puVar26" identifier < identifier) )))) + (subscript_expression "piVar12[4]" identifier [ number_literal ]))) ;) (if_statement "if (((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))) {\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }" if (parenthesized_expression "(((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5))))" ( (binary_expression "((int)puVar21 < (int)puVar23) || ((puVar23 == puVar21 && (puStack_8c < puVar5)))" (parenthesized_expression "((int)puVar21 < (int)puVar23)" ( (binary_expression "(int)puVar21 < (int)puVar23" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((puVar23 == puVar21 && (puStack_8c < puVar5)))" ( (parenthesized_expression "(puVar23 == puVar21 && (puStack_8c < puVar5))" ( (binary_expression "puVar23 == puVar21 && (puStack_8c < puVar5)" (binary_expression "puVar23 == puVar21" identifier == identifier) && (parenthesized_expression "(puStack_8c < puVar5)" ( (binary_expression "puStack_8c < puVar5" identifier < identifier) ))) )) ))) )) (compound_statement "{\n          puVar21 = puVar23;\n          puStack_8c = puVar5;\n        }" { (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" identifier = identifier) ;) (expression_statement "puStack_8c = puVar5;" (assignment_expression "puStack_8c = puVar5" identifier = identifier) ;) })) (expression_statement "(**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0);" (call_expression "(**(code **)(puVar25 + -0x7350))(puVar10 + 8,piVar12[9],0)" (parenthesized_expression "(**(code **)(puVar25 + -0x7350))" ( (pointer_expression "**(code **)(puVar25 + -0x7350)" * (pointer_expression "*(code **)(puVar25 + -0x7350)" * (cast_expression "(code **)(puVar25 + -0x7350)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x7350)" ( (binary_expression "puVar25 + -0x7350" identifier + number_literal) ))))) )) (argument_list "(puVar10 + 8,piVar12[9],0)" ( (binary_expression "puVar10 + 8" identifier + number_literal) , (subscript_expression "piVar12[9]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "piVar12 = *(int **)(puVar10 + 0x14c);" (assignment_expression "piVar12 = *(int **)(puVar10 + 0x14c)" identifier = (pointer_expression "*(int **)(puVar10 + 0x14c)" * (cast_expression "(int **)(puVar10 + 0x14c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14c)" ( (binary_expression "puVar10 + 0x14c" identifier + number_literal) ))))) ;) (expression_statement "puVar25 = puVar15;" (assignment_expression "puVar25 = puVar15" identifier = identifier) ;) })) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar5;" (assignment_expression "puVar26 = puVar5" identifier = identifier) ;) }) while (parenthesized_expression "(piVar12 != piVar17)" ( (binary_expression "piVar12 != piVar17" identifier != identifier) )) ;) })) (return_statement "return CONCAT44(puVar21,puStack_8c);" return (call_expression "CONCAT44(puVar21,puStack_8c)" identifier (argument_list "(puVar21,puStack_8c)" ( identifier , identifier ))) ;) })))
(translation_unit "undefined8 __thiscall\ngold::Layout::set_relocatable_section_offsets(Layout *this,Output_data *param_1,uint *param_2)\n\n{\n  Output_data OVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  code *pcVar11;\n  uint uVar12;\n  longlong lVar13;\n  undefined8 uVar14;\n  \n  if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }\n  OVar1 = param_1[0x20];\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);\n  *(undefined4 *)(param_1 + 0xc) = 0;\n  *(undefined4 *)(param_1 + 8) = 0;\n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);\n  *(undefined4 *)(param_1 + 0x1c) = 0;\n  *(undefined4 *)(param_1 + 0x18) = 0;\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }\n  puVar4 = PTR_do_addralign_00432ea8;\n  puVar3 = PTR_do_set_out_shndx_00432ea4;\n  puVar6 = *(undefined4 **)(this + 0x140);\n  puVar10 = *(undefined4 **)(this + 0x13c);\n  uVar12 = *(uint *)(param_1 + 0x10);\n  uVar9 = *(uint *)(param_1 + 0x14);\n  if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }\n  return CONCAT44(uVar12,uVar9);\n}\n\n" (function_definition "undefined8 __thiscall\ngold::Layout::set_relocatable_section_offsets(Layout *this,Output_data *param_1,uint *param_2)\n\n{\n  Output_data OVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  code *pcVar11;\n  uint uVar12;\n  longlong lVar13;\n  undefined8 uVar14;\n  \n  if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }\n  OVar1 = param_1[0x20];\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);\n  *(undefined4 *)(param_1 + 0xc) = 0;\n  *(undefined4 *)(param_1 + 8) = 0;\n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);\n  *(undefined4 *)(param_1 + 0x1c) = 0;\n  *(undefined4 *)(param_1 + 0x18) = 0;\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }\n  puVar4 = PTR_do_addralign_00432ea8;\n  puVar3 = PTR_do_set_out_shndx_00432ea4;\n  puVar6 = *(undefined4 **)(this + 0x140);\n  puVar10 = *(undefined4 **)(this + 0x13c);\n  uVar12 = *(uint *)(param_1 + 0x10);\n  uVar9 = *(uint *)(param_1 + 0x14);\n  if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }\n  return CONCAT44(uVar12,uVar9);\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "set_relocatable_section_offsets(Layout *this,Output_data *param_1,uint *param_2)" identifier (parameter_list "(Layout *this,Output_data *param_1,uint *param_2)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_data *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  Output_data OVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  code *pcVar11;\n  uint uVar12;\n  longlong lVar13;\n  undefined8 uVar14;\n  \n  if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }\n  OVar1 = param_1[0x20];\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);\n  *(undefined4 *)(param_1 + 0xc) = 0;\n  *(undefined4 *)(param_1 + 8) = 0;\n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);\n  *(undefined4 *)(param_1 + 0x1c) = 0;\n  *(undefined4 *)(param_1 + 0x18) = 0;\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }\n  puVar4 = PTR_do_addralign_00432ea8;\n  puVar3 = PTR_do_set_out_shndx_00432ea4;\n  puVar6 = *(undefined4 **)(this + 0x140);\n  puVar10 = *(undefined4 **)(this + 0x13c);\n  uVar12 = *(uint *)(param_1 + 0x10);\n  uVar9 = *(uint *)(param_1 + 0x14);\n  if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }\n  return CONCAT44(uVar12,uVar9);\n}" { (declaration "Output_data OVar1;" type_identifier identifier ;) (declaration "longlong lVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "longlong lVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) < 0)" ( (binary_expression "*(int *)(param_1 + 0x20) < 0" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }" { (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x18fc" identifier + number_literal) )))) ;) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "OVar1 = param_1[0x20];" (assignment_expression "OVar1 = param_1[0x20]" identifier = (subscript_expression "param_1[0x20]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);" (assignment_expression "param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80)" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = (call_expression "(Output_data)((byte)OVar1 & 0x7f | 0x80)" (parenthesized_expression "(Output_data)" ( identifier )) (argument_list "((byte)OVar1 & 0x7f | 0x80)" ( (binary_expression "(byte)OVar1 & 0x7f | 0x80" (binary_expression "(byte)OVar1 & 0x7f" (cast_expression "(byte)OVar1" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) | number_literal) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 8) = 0" (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(param_1 + 0x20) << 2 < 0" (binary_expression "*(int *)(param_1 + 0x20) << 2" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }" { (labeled_statement "LAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);" statement_identifier : (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x190c" identifier + number_literal) )))) ;)) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);" (assignment_expression "param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0)" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = (call_expression "(Output_data)((byte)OVar1 & 0x5f | 0xa0)" (parenthesized_expression "(Output_data)" ( identifier )) (argument_list "((byte)OVar1 & 0x5f | 0xa0)" ( (binary_expression "(byte)OVar1 & 0x5f | 0xa0" (binary_expression "(byte)OVar1 & 0x5f" (cast_expression "(byte)OVar1" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) | number_literal) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" * (cast_expression "(undefined4 *)(param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x18) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x18)" * (cast_expression "(undefined4 *)(param_1 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }" if (parenthesized_expression "((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1))" ( (binary_expression "(-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)" (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal)) )) && (parenthesized_expression "((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)" ( (comma_expression "(**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1" (call_expression "(**(code **)(*(int *)param_1 + 0x38))(param_1)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x38))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x38)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x38)" * (cast_expression "(code **)(*(int *)param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x38)" ( (binary_expression "*(int *)param_1 + 0x38" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))) , (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal))) ))) )) (compound_statement "{\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }" { (labeled_statement "LAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);" statement_identifier : (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1848" identifier + number_literal) )))) ;)) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "puVar4 = PTR_do_addralign_00432ea8;" (assignment_expression "puVar4 = PTR_do_addralign_00432ea8" identifier = identifier) ;) (expression_statement "puVar3 = PTR_do_set_out_shndx_00432ea4;" (assignment_expression "puVar3 = PTR_do_set_out_shndx_00432ea4" identifier = identifier) ;) (expression_statement "puVar6 = *(undefined4 **)(this + 0x140);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x140)" identifier = (pointer_expression "*(undefined4 **)(this + 0x140)" * (cast_expression "(undefined4 **)(this + 0x140)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x140)" ( (binary_expression "this + 0x140" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = *(undefined4 **)(this + 0x13c);" (assignment_expression "puVar10 = *(undefined4 **)(this + 0x13c)" identifier = (pointer_expression "*(undefined4 **)(this + 0x13c)" * (cast_expression "(undefined4 **)(this + 0x13c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x13c)" ( (binary_expression "this + 0x13c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(param_1 + 0x10);" (assignment_expression "uVar12 = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar9 = *(uint *)(param_1 + 0x14)" identifier = (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }" if (parenthesized_expression "(puVar10 != puVar6)" ( (binary_expression "puVar10 != puVar6" identifier != identifier) )) (compound_statement "{\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }" { (do_statement "do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);" do (compound_statement "{\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    }" { (expression_statement "piVar8 = (int *)*puVar10;" (assignment_expression "piVar8 = (int *)*puVar10" identifier = (cast_expression "(int *)*puVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (if_statement "if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }" if (parenthesized_expression "(((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11))" ( (binary_expression "((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)" (parenthesized_expression "((piVar8[0x17] & 2U) != 0)" ( (binary_expression "(piVar8[0x17] & 2U) != 0" (parenthesized_expression "(piVar8[0x17] & 2U)" ( (binary_expression "piVar8[0x17] & 2U" (subscript_expression "piVar8[0x17]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(piVar8[0x15] == 0x11)" ( (binary_expression "piVar8[0x15] == 0x11" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }" { (if_statement "if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }" if (parenthesized_expression "(*(code **)(*piVar8 + 0xc) == (code *)puVar4)" ( (binary_expression "*(code **)(*piVar8 + 0xc) == (code *)puVar4" (pointer_expression "*(code **)(*piVar8 + 0xc)" * (cast_expression "(code **)(*piVar8 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xc)" ( (binary_expression "*piVar8 + 0xc" (pointer_expression "*piVar8" * identifier) + number_literal) )))) == (cast_expression "(code *)puVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }" { (expression_statement "lVar13 = *(longlong *)(piVar8 + 10);" (assignment_expression "lVar13 = *(longlong *)(piVar8 + 10)" identifier = (pointer_expression "*(longlong *)(piVar8 + 10)" * (cast_expression "(longlong *)(piVar8 + 10)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }" else (compound_statement "{\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }" { (expression_statement "lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);" (assignment_expression "lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8)" identifier = (call_expression "(**(code **)(*piVar8 + 0xc))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 0xc))" ( (pointer_expression "**(code **)(*piVar8 + 0xc)" * (pointer_expression "*(code **)(*piVar8 + 0xc)" * (cast_expression "(code **)(*piVar8 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xc)" ( (binary_expression "*piVar8 + 0xc" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier )))) ;) (expression_statement "piVar8 = (int *)*puVar10;" (assignment_expression "piVar8 = (int *)*puVar10" identifier = (cast_expression "(int *)*puVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) }))) (if_statement "if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }" if (parenthesized_expression "(lVar13 != 0)" ( (binary_expression "lVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }" { (expression_statement "lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);" (assignment_expression "lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" identifier = (binary_expression "lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" identifier + (call_expression "CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" identifier (argument_list "((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" ( (binary_expression "(uint)(uVar9 - 1 < uVar9) + (uVar12 - 1)" (call_expression "(uint)(uVar9 - 1 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 - 1 < uVar9)" ( (binary_expression "uVar9 - 1 < uVar9" (binary_expression "uVar9 - 1" identifier - number_literal) < identifier) ))) + (parenthesized_expression "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) ))) , (binary_expression "uVar9 - 1" identifier - number_literal) ))))) ;) (expression_statement "uVar9 = (uint)lVar2 & -(int)lVar13;" (assignment_expression "uVar9 = (uint)lVar2 & -(int)lVar13" identifier = (binary_expression "(uint)lVar2 & -(int)lVar13" (cast_expression "(uint)lVar2" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-(int)lVar13" - (cast_expression "(int)lVar13" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);" (assignment_expression "uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20)" identifier = (binary_expression "(uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20)" (call_expression "(uint)((ulonglong)lVar2 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar2 >> 0x20)" ( (binary_expression "(ulonglong)lVar2 >> 0x20" (cast_expression "(ulonglong)lVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) & (binary_expression "-(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20)" (unary_expression "-(uint)(-(int)lVar13 != 0)" - (call_expression "(uint)(-(int)lVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-(int)lVar13 != 0)" ( (binary_expression "-(int)lVar13 != 0" (unary_expression "-(int)lVar13" - (cast_expression "(int)lVar13" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )))) - (cast_expression "(int)((ulonglong)lVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar13 >> 0x20)" ( (binary_expression "(ulonglong)lVar13 >> 0x20" (cast_expression "(ulonglong)lVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))))) ;) })) (expression_statement "iVar5 = piVar8[8];" (assignment_expression "iVar5 = piVar8[8]" identifier = (subscript_expression "piVar8[8]" identifier [ number_literal ])) ;) (if_statement "if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (compound_statement "{\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }" { (expression_statement "piVar8[2] = 0;" (assignment_expression "piVar8[2] = 0" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[3] = 0;" (assignment_expression "piVar8[3] = 0" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;" (assignment_expression "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80" (pointer_expression "*(byte *)(piVar8 + 8)" * (cast_expression "(byte *)(piVar8 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 8)" ( (binary_expression "piVar8 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar8 + 8) & 0x7f | 0x80" (binary_expression "*(byte *)(piVar8 + 8) & 0x7f" (pointer_expression "*(byte *)(piVar8 + 8)" * (cast_expression "(byte *)(piVar8 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 8)" ( (binary_expression "piVar8 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "iVar5 = piVar8[8];" (assignment_expression "iVar5 = piVar8[8]" identifier = (subscript_expression "piVar8[8]" identifier [ number_literal ])) ;) })) (if_statement "if (iVar5 << 2 < 0) goto LAB_0011f5d4;" if (parenthesized_expression "(iVar5 << 2 < 0)" ( (binary_expression "iVar5 << 2 < 0" (binary_expression "iVar5 << 2" identifier << number_literal) < number_literal) )) (goto_statement "goto LAB_0011f5d4;" goto statement_identifier ;)) (expression_statement "iVar5 = *piVar8;" (assignment_expression "iVar5 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "piVar8[6] = uVar12;" (assignment_expression "piVar8[6] = uVar12" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[7] = uVar9;" (assignment_expression "piVar8[7] = uVar9" (subscript_expression "piVar8[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;" (assignment_expression "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20" (pointer_expression "*(byte *)(piVar8 + 8)" * (cast_expression "(byte *)(piVar8 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 8)" ( (binary_expression "piVar8 + 8" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar8 + 8) & 0xdf | 0x20" (binary_expression "*(byte *)(piVar8 + 8) & 0xdf" (pointer_expression "*(byte *)(piVar8 + 8)" * (cast_expression "(byte *)(piVar8 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 8)" ( (binary_expression "piVar8 + 8" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (if_statement "if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }" if (parenthesized_expression "(piVar8[8] << 1 < 0)" ( (binary_expression "piVar8[8] << 1 < 0" (binary_expression "piVar8[8] << 1" (subscript_expression "piVar8[8]" identifier [ number_literal ]) << number_literal) < number_literal) )) (compound_statement "{\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }" { (if_statement "if (piVar8[0x15] != 8) goto LAB_0011f498;" if (parenthesized_expression "(piVar8[0x15] != 8)" ( (binary_expression "piVar8[0x15] != 8" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0011f498;" goto statement_identifier ;)) (expression_statement "pcVar11 = *(code **)(iVar5 + 0x30);" (assignment_expression "pcVar11 = *(code **)(iVar5 + 0x30)" identifier = (pointer_expression "*(code **)(iVar5 + 0x30)" * (cast_expression "(code **)(iVar5 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;" if (parenthesized_expression "(pcVar11 == (code *)puVar3)" ( (binary_expression "pcVar11 == (code *)puVar3" identifier == (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_0011f4c4;" goto statement_identifier ;)) (labeled_statement "LAB_0011f54c:\n          (*pcVar11)(piVar8);" statement_identifier : (expression_statement "(*pcVar11)(piVar8);" (call_expression "(*pcVar11)(piVar8)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(piVar8)" ( identifier ))) ;)) }) (else_clause "else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }" else (compound_statement "{\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }" { (expression_statement "(**(code **)(iVar5 + 0x38))(piVar8);" (call_expression "(**(code **)(iVar5 + 0x38))(piVar8)" (parenthesized_expression "(**(code **)(iVar5 + 0x38))" ( (pointer_expression "**(code **)(iVar5 + 0x38)" * (pointer_expression "*(code **)(iVar5 + 0x38)" * (cast_expression "(code **)(iVar5 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier ))) ;) (if_statement "if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;" if (parenthesized_expression "(-1 < piVar8[8] << 1)" ( (binary_expression "-1 < piVar8[8] << 1" number_literal < (binary_expression "piVar8[8] << 1" (subscript_expression "piVar8[8]" identifier [ number_literal ]) << number_literal)) )) (goto_statement "goto LAB_0011f5a0;" goto statement_identifier ;)) (expression_statement "piVar8 = (int *)*puVar10;" (assignment_expression "piVar8 = (int *)*puVar10" identifier = (cast_expression "(int *)*puVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (if_statement "if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }" if (parenthesized_expression "(piVar8[0x15] == 8)" ( (binary_expression "piVar8[0x15] == 8" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar5 = *piVar8;\n          }" { (expression_statement "iVar5 = *piVar8;" (assignment_expression "iVar5 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) }) (else_clause "else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }" else (compound_statement "{\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }" { (if_statement "if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }" if (parenthesized_expression "(-1 < piVar8[8] << 1)" ( (binary_expression "-1 < piVar8[8] << 1" number_literal < (binary_expression "piVar8[8] << 1" (subscript_expression "piVar8[8]" identifier [ number_literal ]) << number_literal)) )) (compound_statement "{\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }" { (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1604" identifier + number_literal) )))) ;) (return_statement "return uVar14;" return identifier ;) })) (expression_statement "iVar5 = *piVar8;" (assignment_expression "iVar5 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (labeled_statement "LAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];" statement_identifier : (expression_statement "uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];" (assignment_expression "uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4]" identifier = (binary_expression "(uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4]" (binary_expression "(uint)(uVar9 + piVar8[5] < uVar9) + uVar12" (call_expression "(uint)(uVar9 + piVar8[5] < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 + piVar8[5] < uVar9)" ( (binary_expression "uVar9 + piVar8[5] < uVar9" (binary_expression "uVar9 + piVar8[5]" identifier + (subscript_expression "piVar8[5]" identifier [ number_literal ])) < identifier) ))) + identifier) + (subscript_expression "piVar8[4]" identifier [ number_literal ]))) ;)) (expression_statement "uVar9 = uVar9 + piVar8[5];" (assignment_expression "uVar9 = uVar9 + piVar8[5]" identifier = (binary_expression "uVar9 + piVar8[5]" identifier + (subscript_expression "piVar8[5]" identifier [ number_literal ]))) ;) }))) (expression_statement "pcVar11 = *(code **)(iVar5 + 0x30);" (assignment_expression "pcVar11 = *(code **)(iVar5 + 0x30)" identifier = (pointer_expression "*(code **)(iVar5 + 0x30)" * (cast_expression "(code **)(iVar5 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (if_statement "if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;" if (parenthesized_expression "(pcVar11 != (code *)puVar3)" ( (binary_expression "pcVar11 != (code *)puVar3" identifier != (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_0011f54c;" goto statement_identifier ;)) (labeled_statement "LAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }" statement_identifier : (if_statement "if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }" if (parenthesized_expression "((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19]))" ( (binary_expression "(piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])" (parenthesized_expression "(piVar8[0x19] != 0xffffffff)" ( (binary_expression "piVar8[0x19] != 0xffffffff" (subscript_expression "piVar8[0x19]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(uVar7 != piVar8[0x19])" ( (binary_expression "uVar7 != piVar8[0x19]" identifier != (subscript_expression "piVar8[0x19]" identifier [ number_literal ])) ))) )) (compound_statement "{\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }" { (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1920" identifier + number_literal) )))) ;) (return_statement "return uVar14;" return identifier ;) }))) (expression_statement "piVar8[0x19] = uVar7;" (assignment_expression "piVar8[0x19] = uVar7" (subscript_expression "piVar8[0x19]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "puVar6 = *(undefined4 **)(this + 0x140);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x140)" identifier = (pointer_expression "*(undefined4 **)(this + 0x140)" * (cast_expression "(undefined4 **)(this + 0x140)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x140)" ( (binary_expression "this + 0x140" identifier + number_literal) ))))) ;) (expression_statement "*param_2 = *param_2 + 1;" (assignment_expression "*param_2 = *param_2 + 1" (pointer_expression "*param_2" * identifier) = (binary_expression "*param_2 + 1" (pointer_expression "*param_2" * identifier) + number_literal)) ;) })) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar6 != puVar10)" ( (binary_expression "puVar6 != puVar10" identifier != identifier) )) ;) })) (return_statement "return CONCAT44(uVar12,uVar9);" return (call_expression "CONCAT44(uVar12,uVar9)" identifier (argument_list "(uVar12,uVar9)" ( identifier , identifier ))) ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 ;) (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 IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;)) (return_statement return IDENT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) && (parenthesized_expression ( (comma_expression (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT ))) , (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;)) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (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 { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - LIT) < IDENT) ))) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) , (binary_expression IDENT - LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) & (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) != LIT) )))) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;)) }) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) < IDENT) ))) + IDENT) + (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })))
(function_definition "undefined8 __thiscall\ngold::Layout::set_relocatable_section_offsets(Layout *this,Output_data *param_1,uint *param_2)\n\n{\n  Output_data OVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  code *pcVar11;\n  uint uVar12;\n  longlong lVar13;\n  undefined8 uVar14;\n  \n  if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }\n  OVar1 = param_1[0x20];\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);\n  *(undefined4 *)(param_1 + 0xc) = 0;\n  *(undefined4 *)(param_1 + 8) = 0;\n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);\n  *(undefined4 *)(param_1 + 0x1c) = 0;\n  *(undefined4 *)(param_1 + 0x18) = 0;\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }\n  puVar4 = PTR_do_addralign_00432ea8;\n  puVar3 = PTR_do_set_out_shndx_00432ea4;\n  puVar6 = *(undefined4 **)(this + 0x140);\n  puVar10 = *(undefined4 **)(this + 0x13c);\n  uVar12 = *(uint *)(param_1 + 0x10);\n  uVar9 = *(uint *)(param_1 + 0x14);\n  if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }\n  return CONCAT44(uVar12,uVar9);\n}" (type_identifier "undefined8") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Layout::" (identifier "gold") (: ":") (: ":") (identifier "Layout") (: ":") (: ":")) (function_declarator "set_relocatable_section_offsets(Layout *this,Output_data *param_1,uint *param_2)" (identifier "set_relocatable_section_offsets") (parameter_list "(Layout *this,Output_data *param_1,uint *param_2)" (( "(") (parameter_declaration "Layout *this" (type_identifier "Layout") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Output_data *param_1" (type_identifier "Output_data") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint *param_2" (type_identifier "uint") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  Output_data OVar1;\n  longlong lVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int *piVar8;\n  uint uVar9;\n  undefined4 *puVar10;\n  code *pcVar11;\n  uint uVar12;\n  longlong lVar13;\n  undefined8 uVar14;\n  \n  if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }\n  OVar1 = param_1[0x20];\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);\n  *(undefined4 *)(param_1 + 0xc) = 0;\n  *(undefined4 *)(param_1 + 8) = 0;\n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }\n  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);\n  *(undefined4 *)(param_1 + 0x1c) = 0;\n  *(undefined4 *)(param_1 + 0x18) = 0;\n  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }\n  puVar4 = PTR_do_addralign_00432ea8;\n  puVar3 = PTR_do_set_out_shndx_00432ea4;\n  puVar6 = *(undefined4 **)(this + 0x140);\n  puVar10 = *(undefined4 **)(this + 0x13c);\n  uVar12 = *(uint *)(param_1 + 0x10);\n  uVar9 = *(uint *)(param_1 + 0x14);\n  if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }\n  return CONCAT44(uVar12,uVar9);\n}" ({ "{") (declaration "Output_data OVar1;" (type_identifier "Output_data") (identifier "OVar1") (; ";")) (declaration "longlong lVar2;" (type_identifier "longlong") (identifier "lVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "code *pcVar11;" (type_identifier "code") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "longlong lVar13;" (type_identifier "longlong") (identifier "lVar13") (; ";")) (declaration "undefined8 uVar14;" (type_identifier "undefined8") (identifier "uVar14") (; ";")) (if_statement "if (*(int *)(param_1 + 0x20) < 0) {\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x20) < 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x20) < 0" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);\n    return uVar14;\n  }" ({ "{") (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc)" (identifier "uVar14") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,\n                        PTR_s_alize_xindex_004323b4 + -0x18fc)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0x142") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x18fc" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x18fc")) () ")")))) (; ";")) (return_statement "return uVar14;" (return "return") (identifier "uVar14") (; ";")) (} "}"))) (expression_statement "OVar1 = param_1[0x20];" (assignment_expression "OVar1 = param_1[0x20]" (identifier "OVar1") (= "=") (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]"))) (; ";")) (expression_statement "param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);" (assignment_expression "param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80)" (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]")) (= "=") (call_expression "(Output_data)((byte)OVar1 & 0x7f | 0x80)" (parenthesized_expression "(Output_data)" (( "(") (identifier "Output_data") () ")")) (argument_list "((byte)OVar1 & 0x7f | 0x80)" (( "(") (binary_expression "(byte)OVar1 & 0x7f | 0x80" (binary_expression "(byte)OVar1 & 0x7f" (cast_expression "(byte)OVar1" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "OVar1")) (& "&") (number_literal "0x7f")) (| "|") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 8) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 8) = 0" (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x20) << 2 < 0) {\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x20) << 2 < 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x20) << 2 < 0" (binary_expression "*(int *)(param_1 + 0x20) << 2" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);\n    return uVar14;\n  }" ({ "{") (labeled_statement "LAB_0011f5d4:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);" (statement_identifier "LAB_0011f5d4") (: ":") (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c)" (identifier "uVar14") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,\n                        PTR_s_alize_xindex_004323b4 + -0x190c)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0x14b") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x190c" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x190c")) () ")")))) (; ";"))) (return_statement "return uVar14;" (return "return") (identifier "uVar14") (; ";")) (} "}"))) (expression_statement "param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);" (assignment_expression "param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0)" (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]")) (= "=") (call_expression "(Output_data)((byte)OVar1 & 0x5f | 0xa0)" (parenthesized_expression "(Output_data)" (( "(") (identifier "Output_data") () ")")) (argument_list "((byte)OVar1 & 0x5f | 0xa0)" (( "(") (binary_expression "(byte)OVar1 & 0x5f | 0xa0" (binary_expression "(byte)OVar1 & 0x5f" (cast_expression "(byte)OVar1" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "OVar1")) (& "&") (number_literal "0x5f")) (| "|") (number_literal "0xa0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x18) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }" (if "if") (parenthesized_expression "((-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1))" (( "(") (binary_expression "(-1 < *(int *)(param_1 + 0x20) << 1) &&\n     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)" (parenthesized_expression "(-1 < *(int *)(param_1 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (&& "&&") (parenthesized_expression "((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)" (( "(") (comma_expression "(**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1" (call_expression "(**(code **)(*(int *)param_1 + 0x38))(param_1)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x38))" (( "(") (pointer_expression "**(code **)(*(int *)param_1 + 0x38)" (* "*") (pointer_expression "*(code **)(*(int *)param_1 + 0x38)" (* "*") (cast_expression "(code **)(*(int *)param_1 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_1 + 0x38)" (( "(") (binary_expression "*(int *)param_1 + 0x38" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (, ",") (binary_expression "-1 < *(int *)(param_1 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1")))) () ")"))) () ")")) (compound_statement "{\nLAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);\n    return uVar14;\n  }" ({ "{") (labeled_statement "LAB_0011f5a0:\n    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);" (statement_identifier "LAB_0011f5a0") (: ":") (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848)" (identifier "uVar14") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,\n                        PTR_s_alize_xindex_004323b4 + -0x1848)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0x163") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1848" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x1848")) () ")")))) (; ";"))) (return_statement "return uVar14;" (return "return") (identifier "uVar14") (; ";")) (} "}"))) (expression_statement "puVar4 = PTR_do_addralign_00432ea8;" (assignment_expression "puVar4 = PTR_do_addralign_00432ea8" (identifier "puVar4") (= "=") (identifier "PTR_do_addralign_00432ea8")) (; ";")) (expression_statement "puVar3 = PTR_do_set_out_shndx_00432ea4;" (assignment_expression "puVar3 = PTR_do_set_out_shndx_00432ea4" (identifier "puVar3") (= "=") (identifier "PTR_do_set_out_shndx_00432ea4")) (; ";")) (expression_statement "puVar6 = *(undefined4 **)(this + 0x140);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x140)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined4 **)(this + 0x140)" (* "*") (cast_expression "(undefined4 **)(this + 0x140)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x140)" (( "(") (binary_expression "this + 0x140" (identifier "this") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "puVar10 = *(undefined4 **)(this + 0x13c);" (assignment_expression "puVar10 = *(undefined4 **)(this + 0x13c)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined4 **)(this + 0x13c)" (* "*") (cast_expression "(undefined4 **)(this + 0x13c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x13c)" (( "(") (binary_expression "this + 0x13c" (identifier "this") (+ "+") (number_literal "0x13c")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(param_1 + 0x10);" (assignment_expression "uVar12 = *(uint *)(param_1 + 0x10)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar9 = *(uint *)(param_1 + 0x14)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (puVar10 != puVar6) {\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }" (if "if") (parenthesized_expression "(puVar10 != puVar6)" (( "(") (binary_expression "puVar10 != puVar6" (identifier "puVar10") (!= "!=") (identifier "puVar6")) () ")")) (compound_statement "{\n    do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);\n  }" ({ "{") (do_statement "do {\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    } while (puVar6 != puVar10);" (do "do") (compound_statement "{\n      piVar8 = (int *)*puVar10;\n      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }\n      puVar10 = puVar10 + 1;\n    }" ({ "{") (expression_statement "piVar8 = (int *)*puVar10;" (assignment_expression "piVar8 = (int *)*puVar10" (identifier "piVar8") (= "=") (cast_expression "(int *)*puVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (if_statement "if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }" (if "if") (parenthesized_expression "(((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11))" (( "(") (binary_expression "((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)" (parenthesized_expression "((piVar8[0x17] & 2U) != 0)" (( "(") (binary_expression "(piVar8[0x17] & 2U) != 0" (parenthesized_expression "(piVar8[0x17] & 2U)" (( "(") (binary_expression "piVar8[0x17] & 2U" (subscript_expression "piVar8[0x17]" (identifier "piVar8") ([ "[") (number_literal "0x17") (] "]")) (& "&") (number_literal "2U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar8[0x15] == 0x11)" (( "(") (binary_expression "piVar8[0x15] == 0x11" (subscript_expression "piVar8[0x15]" (identifier "piVar8") ([ "[") (number_literal "0x15") (] "]")) (== "==") (number_literal "0x11")) () ")"))) () ")")) (compound_statement "{\n        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }\n        if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }\n        iVar5 = piVar8[8];\n        if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }\n        if (iVar5 << 2 < 0) goto LAB_0011f5d4;\n        iVar5 = *piVar8;\n        piVar8[6] = uVar12;\n        piVar8[7] = uVar9;\n        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;\n        if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }\n        puVar6 = *(undefined4 **)(this + 0x140);\n        *param_2 = *param_2 + 1;\n      }" ({ "{") (if_statement "if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }\n        else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }" (if "if") (parenthesized_expression "(*(code **)(*piVar8 + 0xc) == (code *)puVar4)" (( "(") (binary_expression "*(code **)(*piVar8 + 0xc) == (code *)puVar4" (pointer_expression "*(code **)(*piVar8 + 0xc)" (* "*") (cast_expression "(code **)(*piVar8 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0xc)" (( "(") (binary_expression "*piVar8 + 0xc" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (cast_expression "(code *)puVar4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) () ")")) (compound_statement "{\n          lVar13 = *(longlong *)(piVar8 + 10);\n        }" ({ "{") (expression_statement "lVar13 = *(longlong *)(piVar8 + 10);" (assignment_expression "lVar13 = *(longlong *)(piVar8 + 10)" (identifier "lVar13") (= "=") (pointer_expression "*(longlong *)(piVar8 + 10)" (* "*") (cast_expression "(longlong *)(piVar8 + 10)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 10)" (( "(") (binary_expression "piVar8 + 10" (identifier "piVar8") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }" (else "else") (compound_statement "{\n          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);\n          piVar8 = (int *)*puVar10;\n        }" ({ "{") (expression_statement "lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);" (assignment_expression "lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8)" (identifier "lVar13") (= "=") (call_expression "(**(code **)(*piVar8 + 0xc))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 0xc))" (( "(") (pointer_expression "**(code **)(*piVar8 + 0xc)" (* "*") (pointer_expression "*(code **)(*piVar8 + 0xc)" (* "*") (cast_expression "(code **)(*piVar8 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0xc)" (( "(") (binary_expression "*piVar8 + 0xc" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")")))) (; ";")) (expression_statement "piVar8 = (int *)*puVar10;" (assignment_expression "piVar8 = (int *)*puVar10" (identifier "piVar8") (= "=") (cast_expression "(int *)*puVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (} "}")))) (if_statement "if (lVar13 != 0) {\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }" (if "if") (parenthesized_expression "(lVar13 != 0)" (( "(") (binary_expression "lVar13 != 0" (identifier "lVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);\n          uVar9 = (uint)lVar2 & -(int)lVar13;\n          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);\n        }" ({ "{") (expression_statement "lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);" (assignment_expression "lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" (identifier "lVar2") (= "=") (binary_expression "lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" (identifier "lVar13") (+ "+") (call_expression "CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" (identifier "CONCAT44") (argument_list "((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1)" (( "(") (binary_expression "(uint)(uVar9 - 1 < uVar9) + (uVar12 - 1)" (call_expression "(uint)(uVar9 - 1 < uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 - 1 < uVar9)" (( "(") (binary_expression "uVar9 - 1 < uVar9" (binary_expression "uVar9 - 1" (identifier "uVar9") (- "-") (number_literal "1")) (< "<") (identifier "uVar9")) () ")"))) (+ "+") (parenthesized_expression "(uVar12 - 1)" (( "(") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1")) () ")"))) (, ",") (binary_expression "uVar9 - 1" (identifier "uVar9") (- "-") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "uVar9 = (uint)lVar2 & -(int)lVar13;" (assignment_expression "uVar9 = (uint)lVar2 & -(int)lVar13" (identifier "uVar9") (= "=") (binary_expression "(uint)lVar2 & -(int)lVar13" (cast_expression "(uint)lVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar2")) (& "&") (unary_expression "-(int)lVar13" (- "-") (cast_expression "(int)lVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar13"))))) (; ";")) (expression_statement "uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);" (assignment_expression "uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20)" (identifier "uVar12") (= "=") (binary_expression "(uint)((ulonglong)lVar2 >> 0x20) &\n                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20)" (call_expression "(uint)((ulonglong)lVar2 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar2 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar2 >> 0x20" (cast_expression "(ulonglong)lVar2" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar2")) (>> ">>") (number_literal "0x20")) () ")"))) (& "&") (binary_expression "-(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20)" (unary_expression "-(uint)(-(int)lVar13 != 0)" (- "-") (call_expression "(uint)(-(int)lVar13 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(-(int)lVar13 != 0)" (( "(") (binary_expression "-(int)lVar13 != 0" (unary_expression "-(int)lVar13" (- "-") (cast_expression "(int)lVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar13"))) (!= "!=") (number_literal "0")) () ")")))) (- "-") (cast_expression "(int)((ulonglong)lVar13 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar13 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar13 >> 0x20" (cast_expression "(ulonglong)lVar13" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar13")) (>> ">>") (number_literal "0x20")) () ")")))))) (; ";")) (} "}"))) (expression_statement "iVar5 = piVar8[8];" (assignment_expression "iVar5 = piVar8[8]" (identifier "iVar5") (= "=") (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (-1 < iVar5) {\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }" (if "if") (parenthesized_expression "(-1 < iVar5)" (( "(") (binary_expression "-1 < iVar5" (number_literal "-1") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n          piVar8[2] = 0;\n          piVar8[3] = 0;\n          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;\n          iVar5 = piVar8[8];\n        }" ({ "{") (expression_statement "piVar8[2] = 0;" (assignment_expression "piVar8[2] = 0" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[3] = 0;" (assignment_expression "piVar8[3] = 0" (subscript_expression "piVar8[3]" (identifier "piVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;" (assignment_expression "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80" (pointer_expression "*(byte *)(piVar8 + 8)" (* "*") (cast_expression "(byte *)(piVar8 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 8)" (( "(") (binary_expression "piVar8 + 8" (identifier "piVar8") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar8 + 8) & 0x7f | 0x80" (binary_expression "*(byte *)(piVar8 + 8) & 0x7f" (pointer_expression "*(byte *)(piVar8 + 8)" (* "*") (cast_expression "(byte *)(piVar8 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 8)" (( "(") (binary_expression "piVar8 + 8" (identifier "piVar8") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0x7f")) (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "iVar5 = piVar8[8];" (assignment_expression "iVar5 = piVar8[8]" (identifier "iVar5") (= "=") (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]"))) (; ";")) (} "}"))) (if_statement "if (iVar5 << 2 < 0) goto LAB_0011f5d4;" (if "if") (parenthesized_expression "(iVar5 << 2 < 0)" (( "(") (binary_expression "iVar5 << 2 < 0" (binary_expression "iVar5 << 2" (identifier "iVar5") (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011f5d4;" (goto "goto") (statement_identifier "LAB_0011f5d4") (; ";"))) (expression_statement "iVar5 = *piVar8;" (assignment_expression "iVar5 = *piVar8" (identifier "iVar5") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "piVar8[6] = uVar12;" (assignment_expression "piVar8[6] = uVar12" (subscript_expression "piVar8[6]" (identifier "piVar8") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "piVar8[7] = uVar9;" (assignment_expression "piVar8[7] = uVar9" (subscript_expression "piVar8[7]" (identifier "piVar8") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;" (assignment_expression "*(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20" (pointer_expression "*(byte *)(piVar8 + 8)" (* "*") (cast_expression "(byte *)(piVar8 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 8)" (( "(") (binary_expression "piVar8 + 8" (identifier "piVar8") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar8 + 8) & 0xdf | 0x20" (binary_expression "*(byte *)(piVar8 + 8) & 0xdf" (pointer_expression "*(byte *)(piVar8 + 8)" (* "*") (cast_expression "(byte *)(piVar8 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 8)" (( "(") (binary_expression "piVar8 + 8" (identifier "piVar8") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0xdf")) (| "|") (number_literal "0x20"))) (; ";")) (if_statement "if (piVar8[8] << 1 < 0) {\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }\n        else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }" (if "if") (parenthesized_expression "(piVar8[8] << 1 < 0)" (( "(") (binary_expression "piVar8[8] << 1 < 0" (binary_expression "piVar8[8] << 1" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          if (piVar8[0x15] != 8) goto LAB_0011f498;\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;\nLAB_0011f54c:\n          (*pcVar11)(piVar8);\n        }" ({ "{") (if_statement "if (piVar8[0x15] != 8) goto LAB_0011f498;" (if "if") (parenthesized_expression "(piVar8[0x15] != 8)" (( "(") (binary_expression "piVar8[0x15] != 8" (subscript_expression "piVar8[0x15]" (identifier "piVar8") ([ "[") (number_literal "0x15") (] "]")) (!= "!=") (number_literal "8")) () ")")) (goto_statement "goto LAB_0011f498;" (goto "goto") (statement_identifier "LAB_0011f498") (; ";"))) (expression_statement "pcVar11 = *(code **)(iVar5 + 0x30);" (assignment_expression "pcVar11 = *(code **)(iVar5 + 0x30)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(iVar5 + 0x30)" (* "*") (cast_expression "(code **)(iVar5 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x30)" (( "(") (binary_expression "iVar5 + 0x30" (identifier "iVar5") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" (identifier "uVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (if_statement "if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;" (if "if") (parenthesized_expression "(pcVar11 == (code *)puVar3)" (( "(") (binary_expression "pcVar11 == (code *)puVar3" (identifier "pcVar11") (== "==") (cast_expression "(code *)puVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) () ")")) (goto_statement "goto LAB_0011f4c4;" (goto "goto") (statement_identifier "LAB_0011f4c4") (; ";"))) (labeled_statement "LAB_0011f54c:\n          (*pcVar11)(piVar8);" (statement_identifier "LAB_0011f54c") (: ":") (expression_statement "(*pcVar11)(piVar8);" (call_expression "(*pcVar11)(piVar8)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }" (else "else") (compound_statement "{\n          (**(code **)(iVar5 + 0x38))(piVar8);\n          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;\n          piVar8 = (int *)*puVar10;\n          if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }\n          pcVar11 = *(code **)(iVar5 + 0x30);\n          uVar7 = *param_2;\n          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;\nLAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }\n          piVar8[0x19] = uVar7;\n        }" ({ "{") (expression_statement "(**(code **)(iVar5 + 0x38))(piVar8);" (call_expression "(**(code **)(iVar5 + 0x38))(piVar8)" (parenthesized_expression "(**(code **)(iVar5 + 0x38))" (( "(") (pointer_expression "**(code **)(iVar5 + 0x38)" (* "*") (pointer_expression "*(code **)(iVar5 + 0x38)" (* "*") (cast_expression "(code **)(iVar5 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "(piVar8)" (( "(") (identifier "piVar8") () ")"))) (; ";")) (if_statement "if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;" (if "if") (parenthesized_expression "(-1 < piVar8[8] << 1)" (( "(") (binary_expression "-1 < piVar8[8] << 1" (number_literal "-1") (< "<") (binary_expression "piVar8[8] << 1" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (<< "<<") (number_literal "1"))) () ")")) (goto_statement "goto LAB_0011f5a0;" (goto "goto") (statement_identifier "LAB_0011f5a0") (; ";"))) (expression_statement "piVar8 = (int *)*puVar10;" (assignment_expression "piVar8 = (int *)*puVar10" (identifier "piVar8") (= "=") (cast_expression "(int *)*puVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (if_statement "if (piVar8[0x15] == 8) {\n            iVar5 = *piVar8;\n          }\n          else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }" (if "if") (parenthesized_expression "(piVar8[0x15] == 8)" (( "(") (binary_expression "piVar8[0x15] == 8" (subscript_expression "piVar8[0x15]" (identifier "piVar8") ([ "[") (number_literal "0x15") (] "]")) (== "==") (number_literal "8")) () ")")) (compound_statement "{\n            iVar5 = *piVar8;\n          }" ({ "{") (expression_statement "iVar5 = *piVar8;" (assignment_expression "iVar5 = *piVar8" (identifier "iVar5") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (} "}")) (else_clause "else {\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }" (else "else") (compound_statement "{\n            if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }\n            iVar5 = *piVar8;\nLAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];\n            uVar9 = uVar9 + piVar8[5];\n          }" ({ "{") (if_statement "if (-1 < piVar8[8] << 1) {\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }" (if "if") (parenthesized_expression "(-1 < piVar8[8] << 1)" (( "(") (binary_expression "-1 < piVar8[8] << 1" (number_literal "-1") (< "<") (binary_expression "piVar8[8] << 1" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\n              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);\n              return uVar14;\n            }" ({ "{") (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604)" (identifier "uVar14") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,\n                                  PTR_s_alize_xindex_004323b4 + -0x1604)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1604" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x1604")) () ")")))) (; ";")) (return_statement "return uVar14;" (return "return") (identifier "uVar14") (; ";")) (} "}"))) (expression_statement "iVar5 = *piVar8;" (assignment_expression "iVar5 = *piVar8" (identifier "iVar5") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (labeled_statement "LAB_0011f498:\n            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];" (statement_identifier "LAB_0011f498") (: ":") (expression_statement "uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];" (assignment_expression "uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4]" (identifier "uVar12") (= "=") (binary_expression "(uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4]" (binary_expression "(uint)(uVar9 + piVar8[5] < uVar9) + uVar12" (call_expression "(uint)(uVar9 + piVar8[5] < uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 + piVar8[5] < uVar9)" (( "(") (binary_expression "uVar9 + piVar8[5] < uVar9" (binary_expression "uVar9 + piVar8[5]" (identifier "uVar9") (+ "+") (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]"))) (< "<") (identifier "uVar9")) () ")"))) (+ "+") (identifier "uVar12")) (+ "+") (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (expression_statement "uVar9 = uVar9 + piVar8[5];" (assignment_expression "uVar9 = uVar9 + piVar8[5]" (identifier "uVar9") (= "=") (binary_expression "uVar9 + piVar8[5]" (identifier "uVar9") (+ "+") (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]")))) (; ";")) (} "}")))) (expression_statement "pcVar11 = *(code **)(iVar5 + 0x30);" (assignment_expression "pcVar11 = *(code **)(iVar5 + 0x30)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(iVar5 + 0x30)" (* "*") (cast_expression "(code **)(iVar5 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x30)" (( "(") (binary_expression "iVar5 + 0x30" (identifier "iVar5") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" (identifier "uVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (if_statement "if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;" (if "if") (parenthesized_expression "(pcVar11 != (code *)puVar3)" (( "(") (binary_expression "pcVar11 != (code *)puVar3" (identifier "pcVar11") (!= "!=") (cast_expression "(code *)puVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) () ")")) (goto_statement "goto LAB_0011f54c;" (goto "goto") (statement_identifier "LAB_0011f54c") (; ";"))) (labeled_statement "LAB_0011f4c4:\n          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }" (statement_identifier "LAB_0011f4c4") (: ":") (if_statement "if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }" (if "if") (parenthesized_expression "((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19]))" (( "(") (binary_expression "(piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])" (parenthesized_expression "(piVar8[0x19] != 0xffffffff)" (( "(") (binary_expression "piVar8[0x19] != 0xffffffff" (subscript_expression "piVar8[0x19]" (identifier "piVar8") ([ "[") (number_literal "0x19") (] "]")) (!= "!=") (number_literal "0xffffffff")) () ")")) (&& "&&") (parenthesized_expression "(uVar7 != piVar8[0x19])" (( "(") (binary_expression "uVar7 != piVar8[0x19]" (identifier "uVar7") (!= "!=") (subscript_expression "piVar8[0x19]" (identifier "piVar8") ([ "[") (number_literal "0x19") (] "]"))) () ")"))) () ")")) (compound_statement "{\n            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);\n            return uVar14;\n          }" ({ "{") (expression_statement "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920);" (assignment_expression "uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920)" (identifier "uVar14") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,\n                                PTR_s_alize_xindex_004323b4 + -0x1920)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0x104b") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x1920" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x1920")) () ")")))) (; ";")) (return_statement "return uVar14;" (return "return") (identifier "uVar14") (; ";")) (} "}")))) (expression_statement "piVar8[0x19] = uVar7;" (assignment_expression "piVar8[0x19] = uVar7" (subscript_expression "piVar8[0x19]" (identifier "piVar8") ([ "[") (number_literal "0x19") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (} "}")))) (expression_statement "puVar6 = *(undefined4 **)(this + 0x140);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x140)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined4 **)(this + 0x140)" (* "*") (cast_expression "(undefined4 **)(this + 0x140)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x140)" (( "(") (binary_expression "this + 0x140" (identifier "this") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "*param_2 = *param_2 + 1;" (assignment_expression "*param_2 = *param_2 + 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (binary_expression "*param_2 + 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar6 != puVar10)" (( "(") (binary_expression "puVar6 != puVar10" (identifier "puVar6") (!= "!=") (identifier "puVar10")) () ")")) (; ";")) (} "}"))) (return_statement "return CONCAT44(uVar12,uVar9);" (return "return") (call_expression "CONCAT44(uVar12,uVar9)" (identifier "CONCAT44") (argument_list "(uVar12,uVar9)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar9") () ")"))) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (parenthesized_expression (comma_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) arguments: (argument_list (identifier))) right: (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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 (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))) right: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))))

/* gold::Layout::MASKED(gold::Output_data*, unsigned int*) */

undefined8 __thiscall
gold::Layout::MASKED(Layout *this,Output_data *param_1,uint *param_2)

{
  Output_data OVar1;
  longlong lVar2;
  undefined *puVar3;
  undefined *puVar4;
  int iVar5;
  undefined4 *puVar6;
  uint uVar7;
  int *piVar8;
  uint uVar9;
  undefined4 *puVar10;
  code *pcVar11;
  uint uVar12;
  longlong lVar13;
  undefined8 uVar14;
  
  if (*(int *)(param_1 + 0x20) < 0) {
    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x142,
                        PTR_s_alize_xindex_004323b4 + -0x18fc);
    return uVar14;
  }
  OVar1 = param_1[0x20];
  param_1[0x20] = (Output_data)((byte)OVar1 & 0x7f | 0x80);
  *(undefined4 *)(param_1 + 0xc) = 0;
  *(undefined4 *)(param_1 + 8) = 0;
  if (*(int *)(param_1 + 0x20) << 2 < 0) {
LAB_0011f5d4:
    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x14b,
                        PTR_s_alize_xindex_004323b4 + -0x190c);
    return uVar14;
  }
  param_1[0x20] = (Output_data)((byte)OVar1 & 0x5f | 0xa0);
  *(undefined4 *)(param_1 + 0x1c) = 0;
  *(undefined4 *)(param_1 + 0x18) = 0;
  if ((-1 < *(int *)(param_1 + 0x20) << 1) &&
     ((**(code **)(*(int *)param_1 + 0x38))(param_1), -1 < *(int *)(param_1 + 0x20) << 1)) {
LAB_0011f5a0:
    uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                       (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x163,
                        PTR_s_alize_xindex_004323b4 + -0x1848);
    return uVar14;
  }
  puVar4 = PTR_do_addralign_00432ea8;
  puVar3 = PTR_do_set_out_shndx_00432ea4;
  puVar6 = *(undefined4 **)(this + 0x140);
  puVar10 = *(undefined4 **)(this + 0x13c);
  uVar12 = *(uint *)(param_1 + 0x10);
  uVar9 = *(uint *)(param_1 + 0x14);
  if (puVar10 != puVar6) {
    do {
      piVar8 = (int *)*puVar10;
      if (((piVar8[0x17] & 2U) != 0) || (piVar8[0x15] == 0x11)) {
        if (*(code **)(*piVar8 + 0xc) == (code *)puVar4) {
          lVar13 = *(longlong *)(piVar8 + 10);
        }
        else {
          lVar13 = (**(code **)(*piVar8 + 0xc))(piVar8);
          piVar8 = (int *)*puVar10;
        }
        if (lVar13 != 0) {
          lVar2 = lVar13 + CONCAT44((uint)(uVar9 - 1 < uVar9) + (uVar12 - 1),uVar9 - 1);
          uVar9 = (uint)lVar2 & -(int)lVar13;
          uVar12 = (uint)((ulonglong)lVar2 >> 0x20) &
                   -(uint)(-(int)lVar13 != 0) - (int)((ulonglong)lVar13 >> 0x20);
        }
        iVar5 = piVar8[8];
        if (-1 < iVar5) {
          piVar8[2] = 0;
          piVar8[3] = 0;
          *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0x7f | 0x80;
          iVar5 = piVar8[8];
        }
        if (iVar5 << 2 < 0) goto LAB_0011f5d4;
        iVar5 = *piVar8;
        piVar8[6] = uVar12;
        piVar8[7] = uVar9;
        *(byte *)(piVar8 + 8) = *(byte *)(piVar8 + 8) & 0xdf | 0x20;
        if (piVar8[8] << 1 < 0) {
          if (piVar8[0x15] != 8) goto LAB_0011f498;
          pcVar11 = *(code **)(iVar5 + 0x30);
          uVar7 = *param_2;
          if (pcVar11 == (code *)puVar3) goto LAB_0011f4c4;
LAB_0011f54c:
          (*pcVar11)(piVar8);
        }
        else {
          (**(code **)(iVar5 + 0x38))(piVar8);
          if (-1 < piVar8[8] << 1) goto LAB_0011f5a0;
          piVar8 = (int *)*puVar10;
          if (piVar8[0x15] == 8) {
            iVar5 = *piVar8;
          }
          else {
            if (-1 < piVar8[8] << 1) {
              uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                                 (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,
                                  PTR_s_alize_xindex_004323b4 + -0x1604);
              return uVar14;
            }
            iVar5 = *piVar8;
LAB_0011f498:
            uVar12 = (uint)(uVar9 + piVar8[5] < uVar9) + uVar12 + piVar8[4];
            uVar9 = uVar9 + piVar8[5];
          }
          pcVar11 = *(code **)(iVar5 + 0x30);
          uVar7 = *param_2;
          if (pcVar11 != (code *)puVar3) goto LAB_0011f54c;
LAB_0011f4c4:
          if ((piVar8[0x19] != 0xffffffff) && (uVar7 != piVar8[0x19])) {
            uVar14 = (*(code *)PTR_do_gold_unreachable_004323c4)
                               (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x104b,
                                PTR_s_alize_xindex_004323b4 + -0x1920);
            return uVar14;
          }
          piVar8[0x19] = uVar7;
        }
        puVar6 = *(undefined4 **)(this + 0x140);
        *param_2 = *param_2 + 1;
      }
      puVar10 = puVar10 + 1;
    } while (puVar6 != puVar10);
  }
  return CONCAT44(uVar12,uVar9);
}

