
/* WARNING: Struct "Output_segment_headers": ignoring overlapping field "segment_list_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original name: do_sized_write<32, false>
   DWARF original prototype: void do_sized_write<32,_false>(Output_segment_headers * this,
   Output_file * of) */

void __thiscall
gold::Output_segment_headers::do_sized_write<32,_false>
          (Output_segment_headers *this,Output_file *of)

{
  uint64_t uVar1;
  off_t oVar2;
  off_t oVar3;
  Elf_Word *pEVar4;
  int iVar5;
  Output_file *pOVar6;
  uint uVar7;
  Output_file *pOVar8;
  Elf_Word EVar9;
  undefined4 *puVar10;
  undefined4 *puVar11;
  undefined4 *extraout_v1;
  undefined4 *extraout_v1_00;
  uint uVar12;
  undefined1 *puVar13;
  int extraout_v1_01;
  int extraout_v1_02;
  Output_file *pOVar14;
  undefined *puVar15;
  int *piVar16;
  undefined4 uVar17;
  size_t sVar18;
  uint uVar19;
  Elf_Word EVar20;
  Output_file *pOVar21;
  uint uVar22;
  undefined *puVar23;
  uint uVar24;
  uchar *in_t0;
  uint uVar25;
  Output_segment *pOVar26;
  int *piVar27;
  Elf_Word *pEVar28;
  uchar *puVar29;
  uchar *puVar30;
  uchar *puVar31;
  uchar *puVar32;
  undefined4 *puVar33;
  int *piVar34;
  Elf_Word *pEVar35;
  undefined4 *puVar36;
  undefined4 *puVar37;
  code *pcVar38;
  int iVar39;
  undefined *puVar40;
  code *pcVar41;
  uint64_t uVar42;
  code *pcVar43;
  undefined4 in_stack_ffffff34;
  undefined4 in_stack_ffffff6c;
  undefined *puVar44;
  undefined4 in_stack_ffffffa4;
  int iVar45;
  undefined4 in_stack_ffffffdc;
  
  iVar39 = 0x43a1d0;
  puVar10 = *(undefined4 **)&(this->super_Output_data).field_0x24;
  iVar5 = *(int *)&(this->super_Output_data).field_0x20;
  iVar45 = 0x43a1d0;
  puVar37 = (undefined4 *)*puVar10;
  puVar10 = (undefined4 *)puVar10[1];
  if (-1 < iVar5 << 1) {
    sVar18 = 0xcf;
    puVar15 = PTR_s_alize_xindex_004323b4 + -0x4fe0;
    puVar23 = PTR_do_gold_unreachable_004323c4;
    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);
    puVar40 = puVar23 + 0x2998b8;
    puVar37 = (undefined4 *)**(undefined4 **)(puVar15 + 0x24);
    puVar10 = (undefined4 *)(*(undefined4 **)(puVar15 + 0x24))[1];
    if (-1 < *(int *)(puVar15 + 0x20) << 1) {
      sVar18 = 0xcf;
      pcVar38 = *(code **)(puVar23 + 0x291aac);
      iVar45 = *(int *)(puVar23 + 0x291a9c) + -0x4fe0;
      (*pcVar38)(iVar45,0xcf,*(int *)(puVar23 + 0x291a9c) + 0x7894);
      pcVar41 = pcVar38 + 0x299684;
      pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);
      pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];
      if (-1 < *(int *)(iVar45 + 0x20) << 1) {
        sVar18 = 0xcf;
        pcVar41 = *(code **)(pcVar38 + 0x291878);
        iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0;
        (*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894);
        pcVar38 = pcVar41 + 0x299390;
        pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);
        pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];
        if (-1 < *(int *)(iVar45 + 0x20) << 1) {
          pcVar38 = *(code **)(pcVar41 + 0x291584);
          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);
          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);
          piVar16 = (int *)puVar10[2];
          while (piVar16 != (int *)0x0) {
            piVar16 = (int *)*piVar16;
            (**(code **)(pcVar38 + 0x2911d0))();
          }
          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);
          puVar10[3] = 0;
          puVar10[2] = 0;
          if ((undefined4 *)*puVar10 == puVar10 + 6) {
            return;
          }
          (**(code **)(pcVar38 + 0x2911d0))();
          return;
        }
        puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);
        pcVar43 = pcVar38;
        if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a1098;
        if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a1098;
        pOVar6 = *(Output_file **)(pcVar41 + 0x291574);
        if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;
        iVar5 = *(int *)(iVar45 + 0x1c);
        if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a108c;
        in_t0 = puVar32 + iVar5;
        pOVar6 = *(Output_file **)(sVar18 + 8);
        pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));
        if ((int)pOVar6 < (int)pOVar8) goto LAB_001a108c;
        if (pOVar6 == pOVar8) goto LAB_001a1078;
        do {
          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);
          pEVar4 = pEVar35;
          if (pOVar21 == pOVar14) {
            if (puVar32 == (uchar *)0x0) {
              return;
            }
            uVar17 = 0x1ab;
          }
          else {
            do {
              while( true ) {
                pcVar38 = pcVar43;
                pOVar14 = pOVar21;
                pEVar28 = pEVar4;
                pOVar26 = (Output_segment *)pOVar14->name_;
                EVar9 = *(Elf_Word *)&pOVar26->offset_;
                EVar20 = pOVar26->type_;
                pEVar28[3] = (Elf_Word)pOVar26->offset_;
                pEVar28[2] = EVar9;
                uVar42 = pOVar26->vaddr_;
                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;
                *pEVar28 = EVar20;
                EVar20 = pOVar26->flags_;
                pEVar28[5] = (Elf_Word)uVar42;
                pEVar28[4] = EVar9;
                EVar9 = *(Elf_Word *)&pOVar26->paddr_;
                pEVar28[7] = (Elf_Word)pOVar26->paddr_;
                pEVar28[6] = EVar9;
                EVar9 = *(Elf_Word *)&pOVar26->filesz_;
                pEVar28[9] = (Elf_Word)pOVar26->filesz_;
                pEVar28[8] = EVar9;
                uVar42 = pOVar26->memsz_;
                EVar9 = *(Elf_Word *)&pOVar26->memsz_;
                pEVar28[1] = EVar20;
                pEVar28[0xb] = (Elf_Word)uVar42;
                pEVar28[10] = EVar9;
                uVar42 = Output_segment::maximum_alignment(pOVar26);
                uVar7 = (uint)(uVar42 >> 0x20);
                uVar12 = *(uint *)&pOVar26->min_p_align_;
                uVar19 = (uint)pOVar26->min_p_align_;
                pcVar43 = pcVar38;
                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;
                iVar5 = *(int *)(iVar45 + 0x24);
                *(uint64_t *)(pEVar28 + 0xc) = uVar42;
                pEVar4 = pEVar28 + 0xe;
                pOVar21 = (Output_file *)&pOVar14->o_;
                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;
              }
              iVar5 = *(int *)(iVar45 + 0x24);
              pEVar28[0xc] = uVar12;
              pEVar28[0xd] = uVar19;
              pEVar4 = pEVar28 + 0xe;
              pOVar21 = (Output_file *)&pOVar14->o_;
            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);
LAB_001a0fdc:
            pOVar21 = (Output_file *)&pOVar14->o_;
            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));
            uVar17 = 0x1ab;
            if (-1 < (int)puVar31) {
              iVar5 = *(int *)(pcVar38 + -0x7e1c);
              if (puVar31 != puVar32) goto LAB_001a104c;
              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);
              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;
              return;
            }
          }
          while( true ) {
            iVar5 = *(int *)(pcVar38 + -0x7e1c);
LAB_001a104c:
            pOVar6 = (Output_file *)(iVar5 + 0x7728);
            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);
LAB_001a1060:
            sVar18 = 0xe3;
            pOVar6 = pOVar6 + 0x501;
            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);
            (**(code **)(pcVar38 + -0x7e0c))();
            iVar5 = extraout_v1_02;
LAB_001a1078:
            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);
            if (in_t0 == (uchar *)0x0) break;
LAB_001a108c:
            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);
LAB_001a1098:
            uVar17 = 0x19e;
          }
        } while( true );
      }
      puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);
      pcVar43 = pcVar41;
      if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a0e1c;
      if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a0e1c;
      pOVar6 = *(Output_file **)(pcVar38 + 0x291868);
      if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;
      iVar5 = *(int *)(iVar45 + 0x1c);
      if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a0e10;
      in_t0 = puVar32 + iVar5;
      pOVar6 = *(Output_file **)(sVar18 + 8);
      pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));
      if ((int)pOVar6 < (int)pOVar8) goto LAB_001a0e10;
      if (pOVar6 == pOVar8) goto LAB_001a0dfc;
      do {
        piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5);
        piVar16 = piVar34;
        if (pOVar21 == pOVar14) {
          if (puVar32 == (uchar *)0x0) {
            return;
          }
          uVar17 = 0x1ab;
        }
        else {
          do {
            while( true ) {
              pcVar41 = pcVar43;
              pOVar14 = pOVar21;
              piVar27 = piVar16;
              pOVar26 = (Output_segment *)pOVar14->name_;
              uVar12 = *(uint *)&pOVar26->offset_;
              uVar7 = (uint)pOVar26->offset_;
              uVar19 = pOVar26->type_;
              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;
              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
              uVar12 = *(uint *)&pOVar26->vaddr_;
              uVar7 = (uint)pOVar26->vaddr_;
              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;
              uVar19 = pOVar26->flags_;
              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;
              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
              uVar12 = *(uint *)&pOVar26->paddr_;
              uVar7 = (uint)pOVar26->paddr_;
              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;
              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
              uVar12 = *(uint *)&pOVar26->filesz_;
              uVar7 = (uint)pOVar26->filesz_;
              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;
              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
              uVar12 = *(uint *)&pOVar26->memsz_;
              uVar7 = (uint)pOVar26->memsz_;
              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;
              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;
              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
              uVar42 = Output_segment::maximum_alignment(pOVar26);
              uVar7 = (uint)(uVar42 >> 0x20);
              uVar12 = (uint)uVar42;
              uVar19 = *(uint *)&pOVar26->min_p_align_;
              uVar22 = (uint)pOVar26->min_p_align_;
              pcVar43 = pcVar41;
              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;
              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);
              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +
                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;
              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *
                             0x10000;
              piVar16 = piVar27 + 0xe;
              pOVar21 = (Output_file *)&pOVar14->o_;
              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;
            }
            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);
            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;
            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;
            piVar16 = piVar27 + 0xe;
            pOVar21 = (Output_file *)&pOVar14->o_;
          } while ((int *)puVar13 != &pOVar14->o_);
LAB_001a0d60:
          pOVar21 = (Output_file *)&pOVar14->o_;
          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));
          uVar17 = 0x1ab;
          if (-1 < (int)puVar31) {
            iVar5 = *(int *)(pcVar41 + -0x7e1c);
            if (puVar31 != puVar32) goto LAB_001a0dd0;
            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);
            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;
            return;
          }
        }
        while( true ) {
          iVar5 = *(int *)(pcVar41 + -0x7e1c);
LAB_001a0dd0:
          pOVar6 = (Output_file *)(iVar5 + 0x7738);
          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);
LAB_001a0de4:
          sVar18 = 0xe3;
          pOVar6 = pOVar6 + 0x501;
          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);
          (**(code **)(pcVar41 + -0x7e0c))();
          iVar5 = extraout_v1_01;
LAB_001a0dfc:
          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);
          if (in_t0 == (uchar *)0x0) break;
LAB_001a0e10:
          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);
LAB_001a0e1c:
          uVar17 = 0x19e;
        }
      } while( true );
    }
    puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2);
    puVar44 = puVar40;
    if (*(int *)(puVar15 + 0x10) != 0) goto LAB_001a0b28;
    puVar32 = (uchar *)((int)puVar32 * 0x20);
    if (*(uchar **)(puVar15 + 0x14) != puVar32) goto LAB_001a0b28;
    pOVar21 = *(Output_file **)(puVar23 + 0x291a9c);
    if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;
    pOVar14 = *(Output_file **)(puVar15 + 0x1c);
    if (*(int *)(puVar15 + 0x18) < 0) goto LAB_001a0b1c;
    in_t0 = puVar32 + (int)pOVar14;
    pOVar21 = *(Output_file **)(sVar18 + 8);
    pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(puVar15 + 0x18));
    if ((int)pOVar21 < (int)pOVar6) goto LAB_001a0b1c;
    if (pOVar21 == pOVar6) goto LAB_001a0b08;
    do {
      puVar36 = (undefined4 *)((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10));
      puVar11 = puVar36;
      if (puVar37 == puVar10) {
        if (puVar32 == (uchar *)0x0) {
          return;
        }
      }
      else {
        do {
          while( true ) {
            puVar40 = puVar44;
            puVar33 = puVar37;
            puVar10 = puVar11;
            pOVar26 = (Output_segment *)*puVar33;
            uVar42 = pOVar26->paddr_;
            uVar1 = pOVar26->memsz_;
            in_t0 = (uchar *)pOVar26->type_;
            oVar2 = pOVar26->offset_;
            oVar3 = pOVar26->filesz_;
            puVar10[2] = (int)pOVar26->vaddr_;
            puVar10[3] = (int)uVar42;
            *puVar10 = in_t0;
            puVar10[1] = (int)oVar2;
            puVar10[4] = (int)oVar3;
            puVar10[5] = (int)uVar1;
            puVar10[6] = pOVar26->flags_;
            uVar42 = Output_segment::maximum_alignment(pOVar26);
            uVar7 = (uint)(uVar42 >> 0x20);
            uVar12 = (uint)pOVar26->min_p_align_;
            puVar44 = puVar40;
            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&
               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;
            iVar45 = *(int *)(puVar15 + 0x24);
            puVar10[7] = (uint)uVar42;
            puVar11 = puVar10 + 8;
            puVar37 = puVar33 + 1;
            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;
          }
          iVar45 = *(int *)(puVar15 + 0x24);
          puVar10[7] = uVar12;
          puVar11 = puVar10 + 8;
          puVar37 = puVar33 + 1;
        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);
LAB_001a0a70:
        puVar37 = puVar33 + 1;
        puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));
        if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {
          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);
          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;
          return;
        }
      }
      uVar17 = 0x1ab;
      while( true ) {
        pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748);
        (**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17);
LAB_001a0af0:
        sVar18 = 0xe3;
        pOVar21 = pOVar21 + 0x501;
        pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0);
        (**(code **)(puVar40 + -0x7e0c))();
        puVar10 = extraout_v1_00;
LAB_001a0b08:
        in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);
        if (in_t0 == (uchar *)0x0) break;
LAB_001a0b1c:
        Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);
LAB_001a0b28:
        uVar17 = 0x19e;
      }
    } while( true );
  }
  puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2);
  if (*(int *)&(this->super_Output_data).data_size_ != 0) goto LAB_001a08f4;
  puVar32 = (uchar *)((int)puVar32 * 0x20);
  if (*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar32) goto LAB_001a08f4;
  puVar23 = PTR_s_alize_xindex_004323b4;
  if (-1 < iVar5 << 2) goto LAB_001a08bc;
  iVar5 = *(int *)&(this->super_Output_data).offset_;
  pOVar14 = *(Output_file **)((int)&(this->super_Output_data).offset_ + 4);
  pOVar21 = (Output_file *)PTR_s_alize_xindex_004323b4;
  if (iVar5 < 0) goto LAB_001a08e8;
  in_t0 = puVar32 + (int)pOVar14;
  pOVar21 = *(Output_file **)&of->file_size_;
  pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + iVar5);
  if ((int)pOVar21 < (int)pOVar6) goto LAB_001a08e8;
  if (pOVar21 == pOVar6) goto LAB_001a08d4;
  do {
    puVar29 = of->base_;
    puVar31 = puVar29 + (int)pOVar14;
    if (puVar37 == puVar10) {
      if (puVar32 == (uchar *)0x0) {
        return;
      }
    }
    else {
      do {
        while( true ) {
          iVar39 = iVar45;
          puVar10 = puVar37;
          puVar30 = puVar31;
          pOVar26 = (Output_segment *)*puVar10;
          uVar25 = pOVar26->type_;
          uVar24 = (uint)pOVar26->offset_;
          uVar22 = (uint)pOVar26->vaddr_;
          uVar19 = (uint)pOVar26->paddr_;
          uVar12 = (uint)pOVar26->filesz_;
          uVar7 = (uint)pOVar26->memsz_;
          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);
          *(uint *)(puVar30 + 8) =
               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +
               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;
          *(uint *)(puVar30 + 0xc) =
               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +
               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;
          *(uchar **)puVar30 = in_t0;
          *(uint *)(puVar30 + 4) =
               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          *(uint *)(puVar30 + 0x10) =
               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +
               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;
          *(uint *)(puVar30 + 0x14) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = pOVar26->flags_;
          *(uint *)(puVar30 + 0x18) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar42 = Output_segment::maximum_alignment(pOVar26);
          uVar7 = (uint)(uVar42 >> 0x20);
          uVar12 = (uint)uVar42;
          uVar19 = (uint)pOVar26->min_p_align_;
          iVar45 = iVar39;
          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&
             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;
          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);
          *(uint *)(puVar30 + 0x1c) =
               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +
               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;
          puVar31 = puVar30 + 0x20;
          puVar37 = puVar10 + 1;
          if (puVar11 == puVar10 + 1) goto LAB_001a083c;
        }
        puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);
        *(uint *)(puVar30 + 0x1c) =
             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +
             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;
        puVar31 = puVar30 + 0x20;
        puVar37 = puVar10 + 1;
      } while (puVar11 != puVar10 + 1);
LAB_001a083c:
      puVar37 = puVar10 + 1;
      if ((-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&
         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)) {
        puVar23 = *(undefined **)(iVar39 + -0x7e1c);
        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;
        return;
      }
    }
    uVar17 = 0x1ab;
    while( true ) {
      puVar23 = (undefined *)(*(int *)(iVar39 + -0x7e1c) + 0x7758);
      (**(code **)(iVar39 + -0x7e0c))(*(int *)(iVar39 + -0x7e1c) + 0x59f0,uVar17);
LAB_001a08bc:
      of = (Output_file *)0xe3;
      pOVar21 = (Output_file *)(puVar23 + 0x7818);
      pOVar14 = (Output_file *)(*(int *)(iVar39 + -0x7e1c) + -0x4fe0);
      (**(code **)(iVar39 + -0x7e0c))();
      puVar10 = extraout_v1;
LAB_001a08d4:
      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);
      if (in_t0 == (uchar *)0x0) break;
LAB_001a08e8:
      Output_file::get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21);
LAB_001a08f4:
      uVar17 = 0x19e;
    }
  } while( true );
}



/* void gold::Output_segment_headers::do_sized_write<32, false>(gold::Output_file*) */

void __thiscall
gold::Output_segment_headers::do_sized_write<32,false>
          (Output_segment_headers *this,Output_file *param_1)

{
  int *piVar1;
  int iVar2;
  undefined4 *puVar3;
  uint uVar4;
  uint uVar5;
  undefined4 uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  Output_segment *this_00;
  int *piVar11;
  uint uVar12;
  int *piVar13;
  undefined4 *puVar14;
  undefined8 uVar15;
  
  puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24);
  puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];
  if (-1 < *(int *)(this + 0x20) << 1) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);
    return;
  }
  if (*(int *)(this + 0x10) == 0) {
    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;
    if (*(uint *)(this + 0x14) == uVar12) {
      if (-1 < *(int *)(this + 0x20) << 2) {
LAB_001a08bc:
        (*(code *)PTR_do_gold_unreachable_004323c4)
                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);
        return;
      }
      if (-1 < *(int *)(this + 0x18)) {
        uVar9 = uVar12 + *(int *)(this + 0x1c);
        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);
        if ((iVar2 <= *(int *)(param_1 + 8)) &&
           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {
          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));
          piVar1 = piVar13;
          if (puVar14 == puVar3) {
            if (uVar12 == 0) {
              return;
            }
          }
          else {
            do {
              while( true ) {
                piVar11 = piVar1;
                this_00 = (Output_segment *)*puVar14;
                uVar10 = *(uint *)(this_00 + 0x198);
                uVar8 = *(uint *)(this_00 + 0x18c);
                uVar7 = *(uint *)(this_00 + 0x164);
                uVar5 = *(uint *)(this_00 + 0x16c);
                uVar4 = *(uint *)(this_00 + 0x194);
                uVar9 = *(uint *)(this_00 + 0x174);
                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;
                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;
                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
                uVar9 = *(uint *)(this_00 + 0x19c);
                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
                uVar15 = Output_segment::maximum_alignment(this_00);
                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);
                uVar4 = (uint)uVar15;
                uVar5 = *(uint *)(this_00 + 0x184);
                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&
                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;
                puVar14 = puVar14 + 1;
                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);
                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;
                piVar1 = piVar11 + 8;
                if (puVar3 == puVar14) goto LAB_001a083c;
              }
              puVar14 = puVar14 + 1;
              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);
              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
              piVar1 = piVar11 + 8;
            } while (puVar3 != puVar14);
LAB_001a083c:
            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);
            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {
              if (*(int *)(this + 0x20) << 2 < 0) {
                return;
              }
              goto LAB_001a08bc;
            }
          }
          uVar6 = 0x1ab;
          goto LAB_001a08a4;
        }
      }
      FUN_00182b60();
    }
  }
  uVar6 = 0x19e;
LAB_001a08a4:
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);
  return;
}


lui gp,0x2a
addiu gp,gp,-0x64cc
addu gp,gp,t9
lw v1,0x24(a0)
addiu sp,sp,-0x38
lw v0,0x20(a0)
sw s6,0x30(sp)
sw s5,0x2c(sp)
or s5,a0,zero
sw gp,0x10(sp)
ext a0,v0,0x1e,0x1
sw s2,0x20(sp)
sw ra,0x34(sp)
sw s4,0x28(sp)
sw s3,0x24(sp)
sw s1,0x1c(sp)
sw s0,0x18(sp)
lw s6,0x0(v1)
lw v1,0x4(v1)
beq a0,zero,0x001a08fc
_subu s2,v1,s6
lw a0,0x10(s5)
bne a0,zero,0x001a08f4
_sra s2,s2,0x2
lw a0,0x14(s5)
sll s2,s2,0x5
bne a0,s2,0x001a08f4
_ext v0,v0,0x1d,0x1
beq v0,zero,0x001a08bc
_lw a2,-0x7e1c(gp)
lw a3,0x18(s5)
bltz a3,0x001a08e4
_lw a0,0x1c(s5)
addu t0,s2,a0
lw a2,0x8(a1)
sltu v0,t0,s2
addu v0,v0,a3
slt a3,a2,v0
bne a3,zero,0x001a08e8
_lw t9,-0x5b18(gp)
beq a2,v0,0x001a08d4
_nop
lw s1,0x10(a1)
beq s6,v1,0x001a0898
_addu s4,s1,a0
lw s3,-0x70a0(gp)
b 0x001a0784
_or s1,s4,zero
beq v0,a1,0x001a0888
_sltu v0,a0,v1
lw v1,0x24(s5)
wsbh v0,a0
addiu s1,s1,0x20
rotr v0,v0,0x10
addiu s6,s6,0x4
lw v1,0x4(v1)
beq v1,s6,0x001a083c
_sw v0,-0x4(s1)
lw s0,0x0(s6)
or t9,s3,zero
or a0,s0,zero
lw t0,0x198(s0)
lw a3,0x18c(s0)
lw a2,0x164(s0)
lw a1,0x16c(s0)
wsbh t0,t0
lw v1,0x194(s0)
wsbh a3,a3
lw v0,0x174(s0)
wsbh a2,a2
wsbh a1,a1
wsbh v1,v1
wsbh v0,v0
rotr a2,a2,0x10
rotr a1,a1,0x10
rotr t0,t0,0x10
sw a2,0x8(s1)
rotr a3,a3,0x10
sw a1,0xc(s1)
rotr v1,v1,0x10
sw t0,0x0(s1)
rotr v0,v0,0x10
sw a3,0x4(s1)
sw v1,0x10(s1)
sw v0,0x14(s1)
lw v0,0x19c(s0)
wsbh v0,v0
rotr v0,v0,0x10
bal 0x00186db0
_sw v0,0x18(s1)
lw a1,0x180(s0)
lw gp,0x10(sp)
sltu a2,a1,v0
beq a2,zero,0x001a075c
_lw a0,0x184(s0)
or a0,v1,zero
lw v1,0x24(s5)
wsbh v0,a0
addiu s1,s1,0x20
rotr v0,v0,0x10
addiu s6,s6,0x4
lw v1,0x4(v1)
bne v1,s6,0x001a0784
_sw v0,-0x4(s1)
subu s1,s1,s4
bltz s1,0x001a08a0
_nop
bne s1,s2,0x001a08a0
_nop
lw v0,0x20(s5)
ext v0,v0,0x1d,0x1
beq v0,zero,0x001a08bc
_lw a2,-0x7e1c(gp)
lw ra,0x34(sp)
lw s6,0x30(sp)
lw s5,0x2c(sp)
lw s4,0x28(sp)
lw s3,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x38
beq v0,zero,0x001a0764
_nop
b 0x001a081c
_or a0,v1,zero
beq s2,zero,0x001a0864
_lw ra,0x34(sp)
li a1,0x1ab
lw a2,-0x7e1c(gp)
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x7758
jalr t9
_addiu a0,a0,0x59f0
li a1,0xe3
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x7818
jalr t9
_addiu a0,a0,-0x4fe0
lw v0,0xc(a1)
sltu t0,v0,t0
beq t0,zero,0x001a0744
_nop
lw t9,-0x5b18(gp)
addiu t9,t9,0x2b60
bal 0x00182b60
_nop
b 0x001a08a4
_li a1,0x19e
lw a2,-0x7e1c(gp)
li a1,0xcf
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x7894
jalr t9
_addiu a0,a0,-0x4fe0
(translation_unit "/* void gold::Output_segment_headers::do_sized_write<32, false>(gold::Output_file*) */\n\nvoid __thiscall\ngold::Output_segment_headers::do_sized_write<32,false>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  Output_segment *this_00;\n  int *piVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined8 uVar15;\n  \n  puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24);\n  puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];\n  if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }\n  if (*(int *)(this + 0x10) == 0) {\n    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;\n    if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }\n  }\n  uVar6 = 0x19e;\nLAB_001a08a4:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Output_segment_headers::do_sized_write<32,false>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int *piVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_segment_headers::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int" (function_declarator "false>\n          (Output_segment_headers *this,Output_file *param_1)" identifier (ERROR ">" >) (parameter_list "(Output_segment_headers *this,Output_file *param_1)" ( (parameter_declaration "Output_segment_headers *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) { primitive_type) (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "Output_segment *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (expression_statement "puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24);" (assignment_expression "puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(this + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(this + 0x24)" * (pointer_expression "*(undefined4 **)(this + 0x24)" * (cast_expression "(undefined4 **)(this + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];" (assignment_expression "puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1]" identifier = (cast_expression "(undefined4 *)(*(undefined4 **)(this + 0x24))[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(this + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(this + 0x24))" ( (pointer_expression "*(undefined4 **)(this + 0x24)" * (cast_expression "(undefined4 **)(this + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 1" number_literal < (binary_expression "*(int *)(this + 0x20) << 1" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" (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,PTR_s_alize_xindex_004323b4 + 0x7894)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7894" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(this + 0x10) == 0) {\n    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;\n    if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }\n  }" if (parenthesized_expression "(*(int *)(this + 0x10) == 0)" ( (binary_expression "*(int *)(this + 0x10) == 0" (pointer_expression "*(int *)(this + 0x10)" * (cast_expression "(int *)(this + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;\n    if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }\n  }" { (expression_statement "uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;" (assignment_expression "uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20" identifier = (binary_expression "((int)puVar3 - (int)puVar14 >> 2) * 0x20" (parenthesized_expression "((int)puVar3 - (int)puVar14 >> 2)" ( (binary_expression "(int)puVar3 - (int)puVar14 >> 2" (binary_expression "(int)puVar3 - (int)puVar14" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (if_statement "if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }" if (parenthesized_expression "(*(uint *)(this + 0x14) == uVar12)" ( (binary_expression "*(uint *)(this + 0x14) == uVar12" (pointer_expression "*(uint *)(this + 0x14)" * (cast_expression "(uint *)(this + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }" { (if_statement "if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 2" number_literal < (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }" { (labeled_statement "LAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" (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,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7818" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(this + 0x18))" ( (binary_expression "-1 < *(int *)(this + 0x18)" number_literal < (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }" { (expression_statement "uVar9 = uVar12 + *(int *)(this + 0x1c);" (assignment_expression "uVar9 = uVar12 + *(int *)(this + 0x1c)" identifier = (binary_expression "uVar12 + *(int *)(this + 0x1c)" identifier + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);" (assignment_expression "iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18)" identifier = (binary_expression "(uint)(uVar9 < uVar12) + *(int *)(this + 0x18)" (call_expression "(uint)(uVar9 < uVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < uVar12)" ( (binary_expression "uVar9 < uVar12" identifier < identifier) ))) + (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }" if (parenthesized_expression "((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc)))))" ( (binary_expression "(iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))" (parenthesized_expression "(iVar2 <= *(int *)(param_1 + 8))" ( (binary_expression "iVar2 <= *(int *)(param_1 + 8)" identifier <= (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))" ( (parenthesized_expression "(*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc)))" ( (binary_expression "*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))" (binary_expression "*(int *)(param_1 + 8) != iVar2" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar9 <= *(uint *)(param_1 + 0xc))" ( (binary_expression "uVar9 <= *(uint *)(param_1 + 0xc)" identifier <= (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }" { (expression_statement "piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));" (assignment_expression "piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" identifier = (cast_expression "(int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" ( (binary_expression "*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c)" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "piVar1 = piVar13;" (assignment_expression "piVar1 = piVar13" identifier = identifier) ;) (if_statement "if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }" if (parenthesized_expression "(puVar14 == puVar3)" ( (binary_expression "puVar14 == puVar3" identifier == identifier) )) (compound_statement "{\n            if (uVar12 == 0) {\n              return;\n            }\n          }" { (if_statement "if (uVar12 == 0) {\n              return;\n            }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }" else (compound_statement "{\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }" { (do_statement "do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);" do (compound_statement "{\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            }" { (while_statement "while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }" { (expression_statement "piVar11 = piVar1;" (assignment_expression "piVar11 = piVar1" identifier = identifier) ;) (expression_statement "this_00 = (Output_segment *)*puVar14;" (assignment_expression "this_00 = (Output_segment *)*puVar14" identifier = (cast_expression "(Output_segment *)*puVar14" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier))) ;) (expression_statement "uVar10 = *(uint *)(this_00 + 0x198);" (assignment_expression "uVar10 = *(uint *)(this_00 + 0x198)" identifier = (pointer_expression "*(uint *)(this_00 + 0x198)" * (cast_expression "(uint *)(this_00 + 0x198)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x198)" ( (binary_expression "this_00 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(this_00 + 0x18c);" (assignment_expression "uVar8 = *(uint *)(this_00 + 0x18c)" identifier = (pointer_expression "*(uint *)(this_00 + 0x18c)" * (cast_expression "(uint *)(this_00 + 0x18c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x18c)" ( (binary_expression "this_00 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(this_00 + 0x164);" (assignment_expression "uVar7 = *(uint *)(this_00 + 0x164)" identifier = (pointer_expression "*(uint *)(this_00 + 0x164)" * (cast_expression "(uint *)(this_00 + 0x164)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x164)" ( (binary_expression "this_00 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(this_00 + 0x16c);" (assignment_expression "uVar5 = *(uint *)(this_00 + 0x16c)" identifier = (pointer_expression "*(uint *)(this_00 + 0x16c)" * (cast_expression "(uint *)(this_00 + 0x16c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x16c)" ( (binary_expression "this_00 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(uint *)(this_00 + 0x194);" (assignment_expression "uVar4 = *(uint *)(this_00 + 0x194)" identifier = (pointer_expression "*(uint *)(this_00 + 0x194)" * (cast_expression "(uint *)(this_00 + 0x194)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x194)" ( (binary_expression "this_00 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(uint *)(this_00 + 0x174);" (assignment_expression "uVar9 = *(uint *)(this_00 + 0x174)" identifier = (pointer_expression "*(uint *)(this_00 + 0x174)" * (cast_expression "(uint *)(this_00 + 0x174)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x174)" ( (binary_expression "this_00 + 0x174" identifier + number_literal) ))))) ;) (expression_statement "piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[2]" identifier [ number_literal ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[3]" identifier [ number_literal ]) = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" ( (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" ( (binary_expression "uVar5 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar11" * identifier) = (binary_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10)" ( (binary_expression "(uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10" (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar10 >> 0x18) << 0x10" (parenthesized_expression "(uVar10 >> 0x18)" ( (binary_expression "uVar10 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff)" ( (binary_expression "(uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff" (binary_expression "(uVar10 & 0xff) << 8" (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar10 >> 8 & 0xff" (binary_expression "uVar10 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[4]" identifier [ number_literal ]) = (binary_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10)" ( (binary_expression "(uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10" (binary_expression "(uVar4 >> 0x10) << 0x18" (parenthesized_expression "(uVar4 >> 0x10)" ( (binary_expression "uVar4 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar4 >> 0x18) << 0x10" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff)" ( (binary_expression "(uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff" (binary_expression "(uVar4 & 0xff) << 8" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[5]" identifier [ number_literal ]) = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar9 = *(uint *)(this_00 + 0x19c);" (assignment_expression "uVar9 = *(uint *)(this_00 + 0x19c)" identifier = (pointer_expression "*(uint *)(this_00 + 0x19c)" * (cast_expression "(uint *)(this_00 + 0x19c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x19c)" ( (binary_expression "this_00 + 0x19c" identifier + number_literal) ))))) ;) (expression_statement "piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[6]" identifier [ number_literal ]) = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (ERROR "uVar15 = Output_segment::" (assignment_expression "uVar15 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(this_00);" (call_expression "maximum_alignment(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;) (expression_statement "uVar9 = (uint)((ulonglong)uVar15 >> 0x20);" (assignment_expression "uVar9 = (uint)((ulonglong)uVar15 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar15 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar15 >> 0x20)" ( (binary_expression "(ulonglong)uVar15 >> 0x20" (cast_expression "(ulonglong)uVar15" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar4 = (uint)uVar15;" (assignment_expression "uVar4 = (uint)uVar15" identifier = (cast_expression "(uint)uVar15" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar5 = *(uint *)(this_00 + 0x184);" (assignment_expression "uVar5 = *(uint *)(this_00 + 0x184)" identifier = (pointer_expression "*(uint *)(this_00 + 0x184)" * (cast_expression "(uint *)(this_00 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x184)" ( (binary_expression "this_00 + 0x184" identifier + number_literal) ))))) ;) (if_statement "if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;" if (parenthesized_expression "((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5))))" ( (binary_expression "(uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))" (parenthesized_expression "(uVar9 <= *(uint *)(this_00 + 0x180))" ( (binary_expression "uVar9 <= *(uint *)(this_00 + 0x180)" identifier <= (pointer_expression "*(uint *)(this_00 + 0x180)" * (cast_expression "(uint *)(this_00 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x180)" ( (binary_expression "this_00 + 0x180" identifier + number_literal) ))))) )) && (parenthesized_expression "((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))" ( (parenthesized_expression "(uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5))" ( (binary_expression "uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)" (binary_expression "uVar9 != *(uint *)(this_00 + 0x180)" identifier != (pointer_expression "*(uint *)(this_00 + 0x180)" * (cast_expression "(uint *)(this_00 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x180)" ( (binary_expression "this_00 + 0x180" identifier + number_literal) ))))) || (parenthesized_expression "(uVar4 <= uVar5)" ( (binary_expression "uVar4 <= uVar5" identifier <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(this + 0x24) + 4)" * (cast_expression "(undefined4 **)(*(int *)(this + 0x24) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(this + 0x24) + 4)" ( (binary_expression "*(int *)(this + 0x24) + 4" (pointer_expression "*(int *)(this + 0x24)" * (cast_expression "(int *)(this + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[7]" identifier [ number_literal ]) = (binary_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10)" ( (binary_expression "(uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10" (binary_expression "(uVar4 >> 0x10) << 0x18" (parenthesized_expression "(uVar4 >> 0x10)" ( (binary_expression "uVar4 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar4 >> 0x18) << 0x10" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff)" ( (binary_expression "(uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff" (binary_expression "(uVar4 & 0xff) << 8" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar1 = piVar11 + 8;" (assignment_expression "piVar1 = piVar11 + 8" identifier = (binary_expression "piVar11 + 8" identifier + number_literal)) ;) (if_statement "if (puVar3 == puVar14) goto LAB_001a083c;" if (parenthesized_expression "(puVar3 == puVar14)" ( (binary_expression "puVar3 == puVar14" identifier == identifier) )) (goto_statement "goto LAB_001a083c;" goto statement_identifier ;)) })) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(this + 0x24) + 4)" * (cast_expression "(undefined4 **)(*(int *)(this + 0x24) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(this + 0x24) + 4)" ( (binary_expression "*(int *)(this + 0x24) + 4" (pointer_expression "*(int *)(this + 0x24)" * (cast_expression "(int *)(this + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[7]" identifier [ number_literal ]) = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" ( (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" ( (binary_expression "uVar5 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar1 = piVar11 + 8;" (assignment_expression "piVar1 = piVar11 + 8" identifier = (binary_expression "piVar11 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar3 != puVar14)" ( (binary_expression "puVar3 != puVar14" identifier != identifier) )) ;) (labeled_statement "LAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);" statement_identifier : (expression_statement "uVar9 = (int)piVar11 + (0x20 - (int)piVar13);" (assignment_expression "uVar9 = (int)piVar11 + (0x20 - (int)piVar13)" identifier = (binary_expression "(int)piVar11 + (0x20 - (int)piVar13)" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x20 - (int)piVar13)" ( (binary_expression "0x20 - (int)piVar13" number_literal - (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (if_statement "if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }" if (parenthesized_expression "((-1 < (int)uVar9) && (uVar9 == uVar12))" ( (binary_expression "(-1 < (int)uVar9) && (uVar9 == uVar12)" (parenthesized_expression "(-1 < (int)uVar9)" ( (binary_expression "-1 < (int)uVar9" number_literal < (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(uVar9 == uVar12)" ( (binary_expression "uVar9 == uVar12" identifier == identifier) ))) )) (compound_statement "{\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }" { (if_statement "if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }" if (parenthesized_expression "(*(int *)(this + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(this + 0x20) << 2 < 0" (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_001a08bc;" goto statement_identifier ;) })) }))) (expression_statement "uVar6 = 0x1ab;" (assignment_expression "uVar6 = 0x1ab" identifier = number_literal) ;) (goto_statement "goto LAB_001a08a4;" goto statement_identifier ;) })) })) (expression_statement "FUN_00182b60();" (call_expression "FUN_00182b60()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "uVar6 = 0x19e;" (assignment_expression "uVar6 = 0x19e" identifier = number_literal) ;) (labeled_statement "LAB_001a08a4:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758)" (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 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + 0x59f0" identifier + number_literal) , identifier , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7758" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* WARNING: Struct "Output_segment_headers": ignoring overlapping field "segment_list_" */\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 name: do_sized_write<32, false>\n   DWARF original prototype: void do_sized_write<32,_false>(Output_segment_headers * this,\n   Output_file * of) */\n\nvoid __thiscall\ngold::Output_segment_headers::do_sized_write<32,_false>\n          (Output_segment_headers *this,Output_file *of)\n\n{\n  uint64_t uVar1;\n  off_t oVar2;\n  off_t oVar3;\n  Elf_Word *pEVar4;\n  int iVar5;\n  Output_file *pOVar6;\n  uint uVar7;\n  Output_file *pOVar8;\n  Elf_Word EVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  undefined4 *extraout_v1;\n  undefined4 *extraout_v1_00;\n  uint uVar12;\n  undefined1 *puVar13;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  Output_file *pOVar14;\n  undefined *puVar15;\n  int *piVar16;\n  undefined4 uVar17;\n  size_t sVar18;\n  uint uVar19;\n  Elf_Word EVar20;\n  Output_file *pOVar21;\n  uint uVar22;\n  undefined *puVar23;\n  uint uVar24;\n  uchar *in_t0;\n  uint uVar25;\n  Output_segment *pOVar26;\n  int *piVar27;\n  Elf_Word *pEVar28;\n  uchar *puVar29;\n  uchar *puVar30;\n  uchar *puVar31;\n  uchar *puVar32;\n  undefined4 *puVar33;\n  int *piVar34;\n  Elf_Word *pEVar35;\n  undefined4 *puVar36;\n  undefined4 *puVar37;\n  code *pcVar38;\n  int iVar39;\n  undefined *puVar40;\n  code *pcVar41;\n  uint64_t uVar42;\n  code *pcVar43;\n  undefined4 in_stack_ffffff34;\n  undefined4 in_stack_ffffff6c;\n  undefined *puVar44;\n  undefined4 in_stack_ffffffa4;\n  int iVar45;\n  undefined4 in_stack_ffffffdc;\n  \n  iVar39 = 0x43a1d0;\n  puVar10 = *(undefined4 **)&(this->super_Output_data).field_0x24;\n  iVar5 = *(int *)&(this->super_Output_data).field_0x20;\n  iVar45 = 0x43a1d0;\n  puVar37 = (undefined4 *)*puVar10;\n  puVar10 = (undefined4 *)puVar10[1];\n  if (-1 < iVar5 << 1) {\n    sVar18 = 0xcf;\n    puVar15 = PTR_s_alize_xindex_004323b4 + -0x4fe0;\n    puVar23 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    puVar40 = puVar23 + 0x2998b8;\n    puVar37 = (undefined4 *)**(undefined4 **)(puVar15 + 0x24);\n    puVar10 = (undefined4 *)(*(undefined4 **)(puVar15 + 0x24))[1];\n    if (-1 < *(int *)(puVar15 + 0x20) << 1) {\n      sVar18 = 0xcf;\n      pcVar38 = *(code **)(puVar23 + 0x291aac);\n      iVar45 = *(int *)(puVar23 + 0x291a9c) + -0x4fe0;\n      (*pcVar38)(iVar45,0xcf,*(int *)(puVar23 + 0x291a9c) + 0x7894);\n      pcVar41 = pcVar38 + 0x299684;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n      pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n      if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n        sVar18 = 0xcf;\n        pcVar41 = *(code **)(pcVar38 + 0x291878);\n        iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0;\n        (*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894);\n        pcVar38 = pcVar41 + 0x299390;\n        pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n        pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n        if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n          pcVar38 = *(code **)(pcVar41 + 0x291584);\n          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);\n          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);\n          piVar16 = (int *)puVar10[2];\n          while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }\n          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);\n          puVar10[3] = 0;\n          puVar10[2] = 0;\n          if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }\n          (**(code **)(pcVar38 + 0x2911d0))();\n          return;\n        }\n        puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n        pcVar43 = pcVar38;\n        if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a1098;\n        if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a1098;\n        pOVar6 = *(Output_file **)(pcVar41 + 0x291574);\n        if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n        iVar5 = *(int *)(iVar45 + 0x1c);\n        if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a108c;\n        in_t0 = puVar32 + iVar5;\n        pOVar6 = *(Output_file **)(sVar18 + 8);\n        pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n        if ((int)pOVar6 < (int)pOVar8) goto LAB_001a108c;\n        if (pOVar6 == pOVar8) goto LAB_001a1078;\n        do {\n          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);\n          pEVar4 = pEVar35;\n          if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }\n          while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }\n        } while( true );\n      }\n      puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n      pcVar43 = pcVar41;\n      if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a0e1c;\n      if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a0e1c;\n      pOVar6 = *(Output_file **)(pcVar38 + 0x291868);\n      if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n      iVar5 = *(int *)(iVar45 + 0x1c);\n      if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a0e10;\n      in_t0 = puVar32 + iVar5;\n      pOVar6 = *(Output_file **)(sVar18 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_001a0e10;\n      if (pOVar6 == pOVar8) goto LAB_001a0dfc;\n      do {\n        piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5);\n        piVar16 = piVar34;\n        if (pOVar21 == pOVar14) {\n          if (puVar32 == (uchar *)0x0) {\n            return;\n          }\n          uVar17 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar41 + -0x7e1c);\nLAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);\n          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0de4:\n          sVar18 = 0xe3;\n          pOVar6 = pOVar6 + 0x501;\n          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);\n          (**(code **)(pcVar41 + -0x7e0c))();\n          iVar5 = extraout_v1_01;\nLAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);\nLAB_001a0e1c:\n          uVar17 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2);\n    puVar44 = puVar40;\n    if (*(int *)(puVar15 + 0x10) != 0) goto LAB_001a0b28;\n    puVar32 = (uchar *)((int)puVar32 * 0x20);\n    if (*(uchar **)(puVar15 + 0x14) != puVar32) goto LAB_001a0b28;\n    pOVar21 = *(Output_file **)(puVar23 + 0x291a9c);\n    if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n    pOVar14 = *(Output_file **)(puVar15 + 0x1c);\n    if (*(int *)(puVar15 + 0x18) < 0) goto LAB_001a0b1c;\n    in_t0 = puVar32 + (int)pOVar14;\n    pOVar21 = *(Output_file **)(sVar18 + 8);\n    pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(puVar15 + 0x18));\n    if ((int)pOVar21 < (int)pOVar6) goto LAB_001a0b1c;\n    if (pOVar21 == pOVar6) goto LAB_001a0b08;\n    do {\n      puVar36 = (undefined4 *)((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10));\n      puVar11 = puVar36;\n      if (puVar37 == puVar10) {\n        if (puVar32 == (uchar *)0x0) {\n          return;\n        }\n      }\n      else {\n        do {\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);\nLAB_001a0a70:\n        puVar37 = puVar33 + 1;\n        puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));\n        if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }\n      }\n      uVar17 = 0x1ab;\n      while( true ) {\n        pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748);\n        (**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0af0:\n        sVar18 = 0xe3;\n        pOVar21 = pOVar21 + 0x501;\n        pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0);\n        (**(code **)(puVar40 + -0x7e0c))();\n        puVar10 = extraout_v1_00;\nLAB_001a0b08:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_001a0b1c:\n        Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);\nLAB_001a0b28:\n        uVar17 = 0x19e;\n      }\n    } while( true );\n  }\n  puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2);\n  if (*(int *)&(this->super_Output_data).data_size_ != 0) goto LAB_001a08f4;\n  puVar32 = (uchar *)((int)puVar32 * 0x20);\n  if (*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar32) goto LAB_001a08f4;\n  puVar23 = PTR_s_alize_xindex_004323b4;\n  if (-1 < iVar5 << 2) goto LAB_001a08bc;\n  iVar5 = *(int *)&(this->super_Output_data).offset_;\n  pOVar14 = *(Output_file **)((int)&(this->super_Output_data).offset_ + 4);\n  pOVar21 = (Output_file *)PTR_s_alize_xindex_004323b4;\n  if (iVar5 < 0) goto LAB_001a08e8;\n  in_t0 = puVar32 + (int)pOVar14;\n  pOVar21 = *(Output_file **)&of->file_size_;\n  pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + iVar5);\n  if ((int)pOVar21 < (int)pOVar6) goto LAB_001a08e8;\n  if (pOVar21 == pOVar6) goto LAB_001a08d4;\n  do {\n    puVar29 = of->base_;\n    puVar31 = puVar29 + (int)pOVar14;\n    if (puVar37 == puVar10) {\n      if (puVar32 == (uchar *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }\n        puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n        *(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n        puVar31 = puVar30 + 0x20;\n        puVar37 = puVar10 + 1;\n      } while (puVar11 != puVar10 + 1);\nLAB_001a083c:\n      puVar37 = puVar10 + 1;\n      if ((-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&\n         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)) {\n        puVar23 = *(undefined **)(iVar39 + -0x7e1c);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;\n        return;\n      }\n    }\n    uVar17 = 0x1ab;\n    while( true ) {\n      puVar23 = (undefined *)(*(int *)(iVar39 + -0x7e1c) + 0x7758);\n      (**(code **)(iVar39 + -0x7e0c))(*(int *)(iVar39 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a08bc:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar23 + 0x7818);\n      pOVar14 = (Output_file *)(*(int *)(iVar39 + -0x7e1c) + -0x4fe0);\n      (**(code **)(iVar39 + -0x7e0c))();\n      puVar10 = extraout_v1;\nLAB_001a08d4:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_001a08e8:\n      Output_file::get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_001a08f4:\n      uVar17 = 0x19e;\n    }\n  } while( true );\n}\n\n" comment comment comment comment comment comment comment comment (declaration "void __thiscall\ngold::Output_segment_headers::do_sized_write<32,_false>\n          (Output_segment_headers *this,Output_file *of)\n\n{\n  uint64_t uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_segment_headers::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>\n          (Output_segment_headers *this,Output_file *of)\n\n{\n  uint64_t" (function_declarator "_false>\n          (Output_segment_headers *this,Output_file *of)" identifier (ERROR ">" >) (parameter_list "(Output_segment_headers *this,Output_file *of)" ( (parameter_declaration "Output_segment_headers *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) { primitive_type) identifier ;) (declaration "off_t oVar2;" type_identifier identifier ;) (declaration "off_t oVar3;" type_identifier identifier ;) (declaration "Elf_Word *pEVar4;" type_identifier (pointer_declarator "*pEVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "Output_file *pOVar6;" type_identifier (pointer_declarator "*pOVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "Output_file *pOVar8;" type_identifier (pointer_declarator "*pOVar8" * identifier) ;) (declaration "Elf_Word EVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "undefined4 *extraout_v1_00;" type_identifier (pointer_declarator "*extraout_v1_00" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "Output_file *pOVar14;" type_identifier (pointer_declarator "*pOVar14" * identifier) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "size_t sVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "Elf_Word EVar20;" type_identifier identifier ;) (declaration "Output_file *pOVar21;" type_identifier (pointer_declarator "*pOVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uchar *in_t0;" type_identifier (pointer_declarator "*in_t0" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "Output_segment *pOVar26;" type_identifier (pointer_declarator "*pOVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "Elf_Word *pEVar28;" type_identifier (pointer_declarator "*pEVar28" * identifier) ;) (declaration "uchar *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "uchar *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "uchar *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "uchar *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int *piVar34;" primitive_type (pointer_declarator "*piVar34" * identifier) ;) (declaration "Elf_Word *pEVar35;" type_identifier (pointer_declarator "*pEVar35" * identifier) ;) (declaration "undefined4 *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "undefined4 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "int iVar39;" primitive_type identifier ;) (declaration "undefined *puVar40;" type_identifier (pointer_declarator "*puVar40" * identifier) ;) (declaration "code *pcVar41;" type_identifier (pointer_declarator "*pcVar41" * identifier) ;) (declaration "uint64_t uVar42;" primitive_type identifier ;) (declaration "code *pcVar43;" type_identifier (pointer_declarator "*pcVar43" * identifier) ;) (declaration "undefined4 in_stack_ffffff34;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff6c;" type_identifier identifier ;) (declaration "undefined *puVar44;" type_identifier (pointer_declarator "*puVar44" * identifier) ;) (declaration "undefined4 in_stack_ffffffa4;" type_identifier identifier ;) (declaration "int iVar45;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffdc;" type_identifier identifier ;) (expression_statement "iVar39 = 0x43a1d0;" (assignment_expression "iVar39 = 0x43a1d0" identifier = number_literal) ;) (expression_statement "puVar10 = *(undefined4 **)&(this->super_Output_data).field_0x24;" (assignment_expression "puVar10 = *(undefined4 **)&(this->super_Output_data).field_0x24" identifier = (pointer_expression "*(undefined4 **)&(this->super_Output_data).field_0x24" * (cast_expression "(undefined4 **)&(this->super_Output_data).field_0x24" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(this->super_Output_data).field_0x24" & (field_expression "(this->super_Output_data).field_0x24" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "iVar5 = *(int *)&(this->super_Output_data).field_0x20;" (assignment_expression "iVar5 = *(int *)&(this->super_Output_data).field_0x20" identifier = (pointer_expression "*(int *)&(this->super_Output_data).field_0x20" * (cast_expression "(int *)&(this->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).field_0x20" & (field_expression "(this->super_Output_data).field_0x20" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "iVar45 = 0x43a1d0;" (assignment_expression "iVar45 = 0x43a1d0" identifier = number_literal) ;) (expression_statement "puVar37 = (undefined4 *)*puVar10;" (assignment_expression "puVar37 = (undefined4 *)*puVar10" identifier = (cast_expression "(undefined4 *)*puVar10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "puVar10 = (undefined4 *)puVar10[1];" (assignment_expression "puVar10 = (undefined4 *)puVar10[1]" identifier = (cast_expression "(undefined4 *)puVar10[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[1]" identifier [ number_literal ]))) ;) (if_statement "if (-1 < iVar5 << 1) {\n    sVar18 = 0xcf;\n    puVar15 = PTR_s_alize_xindex_004323b4 + -0x4fe0;\n    puVar23 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    puVar40 = puVar23 + 0x2998b8;\n    puVar37 = (undefined4 *)**(undefined4 **)(puVar15 + 0x24);\n    puVar10 = (undefined4 *)(*(undefined4 **)(puVar15 + 0x24))[1];\n    if (-1 < *(int *)(puVar15 + 0x20) << 1) {\n      sVar18 = 0xcf;\n      pcVar38 = *(code **)(puVar23 + 0x291aac);\n      iVar45 = *(int *)(puVar23 + 0x291a9c) + -0x4fe0;\n      (*pcVar38)(iVar45,0xcf,*(int *)(puVar23 + 0x291a9c) + 0x7894);\n      pcVar41 = pcVar38 + 0x299684;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n      pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n      if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n        sVar18 = 0xcf;\n        pcVar41 = *(code **)(pcVar38 + 0x291878);\n        iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0;\n        (*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894);\n        pcVar38 = pcVar41 + 0x299390;\n        pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n        pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n        if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n          pcVar38 = *(code **)(pcVar41 + 0x291584);\n          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);\n          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);\n          piVar16 = (int *)puVar10[2];\n          while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }\n          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);\n          puVar10[3] = 0;\n          puVar10[2] = 0;\n          if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }\n          (**(code **)(pcVar38 + 0x2911d0))();\n          return;\n        }\n        puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n        pcVar43 = pcVar38;\n        if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a1098;\n        if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a1098;\n        pOVar6 = *(Output_file **)(pcVar41 + 0x291574);\n        if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n        iVar5 = *(int *)(iVar45 + 0x1c);\n        if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a108c;\n        in_t0 = puVar32 + iVar5;\n        pOVar6 = *(Output_file **)(sVar18 + 8);\n        pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n        if ((int)pOVar6 < (int)pOVar8) goto LAB_001a108c;\n        if (pOVar6 == pOVar8) goto LAB_001a1078;\n        do {\n          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);\n          pEVar4 = pEVar35;\n          if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }\n          while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }\n        } while( true );\n      }\n      puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n      pcVar43 = pcVar41;\n      if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a0e1c;\n      if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a0e1c;\n      pOVar6 = *(Output_file **)(pcVar38 + 0x291868);\n      if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n      iVar5 = *(int *)(iVar45 + 0x1c);\n      if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a0e10;\n      in_t0 = puVar32 + iVar5;\n      pOVar6 = *(Output_file **)(sVar18 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_001a0e10;\n      if (pOVar6 == pOVar8) goto LAB_001a0dfc;\n      do {\n        piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5);\n        piVar16 = piVar34;\n        if (pOVar21 == pOVar14) {\n          if (puVar32 == (uchar *)0x0) {\n            return;\n          }\n          uVar17 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar41 + -0x7e1c);\nLAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);\n          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0de4:\n          sVar18 = 0xe3;\n          pOVar6 = pOVar6 + 0x501;\n          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);\n          (**(code **)(pcVar41 + -0x7e0c))();\n          iVar5 = extraout_v1_01;\nLAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);\nLAB_001a0e1c:\n          uVar17 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2);\n    puVar44 = puVar40;\n    if (*(int *)(puVar15 + 0x10) != 0) goto LAB_001a0b28;\n    puVar32 = (uchar *)((int)puVar32 * 0x20);\n    if (*(uchar **)(puVar15 + 0x14) != puVar32) goto LAB_001a0b28;\n    pOVar21 = *(Output_file **)(puVar23 + 0x291a9c);\n    if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n    pOVar14 = *(Output_file **)(puVar15 + 0x1c);\n    if (*(int *)(puVar15 + 0x18) < 0) goto LAB_001a0b1c;\n    in_t0 = puVar32 + (int)pOVar14;\n    pOVar21 = *(Output_file **)(sVar18 + 8);\n    pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(puVar15 + 0x18));\n    if ((int)pOVar21 < (int)pOVar6) goto LAB_001a0b1c;\n    if (pOVar21 == pOVar6) goto LAB_001a0b08;\n    do {\n      puVar36 = (undefined4 *)((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10));\n      puVar11 = puVar36;\n      if (puVar37 == puVar10) {\n        if (puVar32 == (uchar *)0x0) {\n          return;\n        }\n      }\n      else {\n        do {\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);\nLAB_001a0a70:\n        puVar37 = puVar33 + 1;\n        puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));\n        if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }\n      }\n      uVar17 = 0x1ab;\n      while( true ) {\n        pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748);\n        (**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0af0:\n        sVar18 = 0xe3;\n        pOVar21 = pOVar21 + 0x501;\n        pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0);\n        (**(code **)(puVar40 + -0x7e0c))();\n        puVar10 = extraout_v1_00;\nLAB_001a0b08:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_001a0b1c:\n        Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);\nLAB_001a0b28:\n        uVar17 = 0x19e;\n      }\n    } while( true );\n  }" if (parenthesized_expression "(-1 < iVar5 << 1)" ( (binary_expression "-1 < iVar5 << 1" number_literal < (binary_expression "iVar5 << 1" identifier << number_literal)) )) (compound_statement "{\n    sVar18 = 0xcf;\n    puVar15 = PTR_s_alize_xindex_004323b4 + -0x4fe0;\n    puVar23 = PTR_do_gold_unreachable_004323c4;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    puVar40 = puVar23 + 0x2998b8;\n    puVar37 = (undefined4 *)**(undefined4 **)(puVar15 + 0x24);\n    puVar10 = (undefined4 *)(*(undefined4 **)(puVar15 + 0x24))[1];\n    if (-1 < *(int *)(puVar15 + 0x20) << 1) {\n      sVar18 = 0xcf;\n      pcVar38 = *(code **)(puVar23 + 0x291aac);\n      iVar45 = *(int *)(puVar23 + 0x291a9c) + -0x4fe0;\n      (*pcVar38)(iVar45,0xcf,*(int *)(puVar23 + 0x291a9c) + 0x7894);\n      pcVar41 = pcVar38 + 0x299684;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n      pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n      if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n        sVar18 = 0xcf;\n        pcVar41 = *(code **)(pcVar38 + 0x291878);\n        iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0;\n        (*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894);\n        pcVar38 = pcVar41 + 0x299390;\n        pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n        pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n        if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n          pcVar38 = *(code **)(pcVar41 + 0x291584);\n          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);\n          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);\n          piVar16 = (int *)puVar10[2];\n          while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }\n          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);\n          puVar10[3] = 0;\n          puVar10[2] = 0;\n          if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }\n          (**(code **)(pcVar38 + 0x2911d0))();\n          return;\n        }\n        puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n        pcVar43 = pcVar38;\n        if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a1098;\n        if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a1098;\n        pOVar6 = *(Output_file **)(pcVar41 + 0x291574);\n        if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n        iVar5 = *(int *)(iVar45 + 0x1c);\n        if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a108c;\n        in_t0 = puVar32 + iVar5;\n        pOVar6 = *(Output_file **)(sVar18 + 8);\n        pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n        if ((int)pOVar6 < (int)pOVar8) goto LAB_001a108c;\n        if (pOVar6 == pOVar8) goto LAB_001a1078;\n        do {\n          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);\n          pEVar4 = pEVar35;\n          if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }\n          while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }\n        } while( true );\n      }\n      puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n      pcVar43 = pcVar41;\n      if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a0e1c;\n      if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a0e1c;\n      pOVar6 = *(Output_file **)(pcVar38 + 0x291868);\n      if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n      iVar5 = *(int *)(iVar45 + 0x1c);\n      if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a0e10;\n      in_t0 = puVar32 + iVar5;\n      pOVar6 = *(Output_file **)(sVar18 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_001a0e10;\n      if (pOVar6 == pOVar8) goto LAB_001a0dfc;\n      do {\n        piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5);\n        piVar16 = piVar34;\n        if (pOVar21 == pOVar14) {\n          if (puVar32 == (uchar *)0x0) {\n            return;\n          }\n          uVar17 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar41 + -0x7e1c);\nLAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);\n          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0de4:\n          sVar18 = 0xe3;\n          pOVar6 = pOVar6 + 0x501;\n          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);\n          (**(code **)(pcVar41 + -0x7e0c))();\n          iVar5 = extraout_v1_01;\nLAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);\nLAB_001a0e1c:\n          uVar17 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2);\n    puVar44 = puVar40;\n    if (*(int *)(puVar15 + 0x10) != 0) goto LAB_001a0b28;\n    puVar32 = (uchar *)((int)puVar32 * 0x20);\n    if (*(uchar **)(puVar15 + 0x14) != puVar32) goto LAB_001a0b28;\n    pOVar21 = *(Output_file **)(puVar23 + 0x291a9c);\n    if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n    pOVar14 = *(Output_file **)(puVar15 + 0x1c);\n    if (*(int *)(puVar15 + 0x18) < 0) goto LAB_001a0b1c;\n    in_t0 = puVar32 + (int)pOVar14;\n    pOVar21 = *(Output_file **)(sVar18 + 8);\n    pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(puVar15 + 0x18));\n    if ((int)pOVar21 < (int)pOVar6) goto LAB_001a0b1c;\n    if (pOVar21 == pOVar6) goto LAB_001a0b08;\n    do {\n      puVar36 = (undefined4 *)((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10));\n      puVar11 = puVar36;\n      if (puVar37 == puVar10) {\n        if (puVar32 == (uchar *)0x0) {\n          return;\n        }\n      }\n      else {\n        do {\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);\nLAB_001a0a70:\n        puVar37 = puVar33 + 1;\n        puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));\n        if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }\n      }\n      uVar17 = 0x1ab;\n      while( true ) {\n        pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748);\n        (**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0af0:\n        sVar18 = 0xe3;\n        pOVar21 = pOVar21 + 0x501;\n        pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0);\n        (**(code **)(puVar40 + -0x7e0c))();\n        puVar10 = extraout_v1_00;\nLAB_001a0b08:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_001a0b1c:\n        Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);\nLAB_001a0b28:\n        uVar17 = 0x19e;\n      }\n    } while( true );\n  }" { (expression_statement "sVar18 = 0xcf;" (assignment_expression "sVar18 = 0xcf" identifier = number_literal) ;) (expression_statement "puVar15 = PTR_s_alize_xindex_004323b4 + -0x4fe0;" (assignment_expression "puVar15 = PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier = (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal)) ;) (expression_statement "puVar23 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar23 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar15,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" (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 "(puVar15,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" ( identifier , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7894" identifier + number_literal) ))) ;) (expression_statement "puVar40 = puVar23 + 0x2998b8;" (assignment_expression "puVar40 = puVar23 + 0x2998b8" identifier = (binary_expression "puVar23 + 0x2998b8" identifier + number_literal)) ;) (expression_statement "puVar37 = (undefined4 *)**(undefined4 **)(puVar15 + 0x24);" (assignment_expression "puVar37 = (undefined4 *)**(undefined4 **)(puVar15 + 0x24)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(puVar15 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar15 + 0x24)" * (pointer_expression "*(undefined4 **)(puVar15 + 0x24)" * (cast_expression "(undefined4 **)(puVar15 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "puVar10 = (undefined4 *)(*(undefined4 **)(puVar15 + 0x24))[1];" (assignment_expression "puVar10 = (undefined4 *)(*(undefined4 **)(puVar15 + 0x24))[1]" identifier = (cast_expression "(undefined4 *)(*(undefined4 **)(puVar15 + 0x24))[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(puVar15 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(puVar15 + 0x24))" ( (pointer_expression "*(undefined4 **)(puVar15 + 0x24)" * (cast_expression "(undefined4 **)(puVar15 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(puVar15 + 0x20) << 1) {\n      sVar18 = 0xcf;\n      pcVar38 = *(code **)(puVar23 + 0x291aac);\n      iVar45 = *(int *)(puVar23 + 0x291a9c) + -0x4fe0;\n      (*pcVar38)(iVar45,0xcf,*(int *)(puVar23 + 0x291a9c) + 0x7894);\n      pcVar41 = pcVar38 + 0x299684;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n      pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n      if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n        sVar18 = 0xcf;\n        pcVar41 = *(code **)(pcVar38 + 0x291878);\n        iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0;\n        (*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894);\n        pcVar38 = pcVar41 + 0x299390;\n        pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n        pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n        if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n          pcVar38 = *(code **)(pcVar41 + 0x291584);\n          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);\n          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);\n          piVar16 = (int *)puVar10[2];\n          while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }\n          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);\n          puVar10[3] = 0;\n          puVar10[2] = 0;\n          if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }\n          (**(code **)(pcVar38 + 0x2911d0))();\n          return;\n        }\n        puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n        pcVar43 = pcVar38;\n        if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a1098;\n        if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a1098;\n        pOVar6 = *(Output_file **)(pcVar41 + 0x291574);\n        if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n        iVar5 = *(int *)(iVar45 + 0x1c);\n        if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a108c;\n        in_t0 = puVar32 + iVar5;\n        pOVar6 = *(Output_file **)(sVar18 + 8);\n        pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n        if ((int)pOVar6 < (int)pOVar8) goto LAB_001a108c;\n        if (pOVar6 == pOVar8) goto LAB_001a1078;\n        do {\n          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);\n          pEVar4 = pEVar35;\n          if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }\n          while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }\n        } while( true );\n      }\n      puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n      pcVar43 = pcVar41;\n      if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a0e1c;\n      if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a0e1c;\n      pOVar6 = *(Output_file **)(pcVar38 + 0x291868);\n      if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n      iVar5 = *(int *)(iVar45 + 0x1c);\n      if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a0e10;\n      in_t0 = puVar32 + iVar5;\n      pOVar6 = *(Output_file **)(sVar18 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_001a0e10;\n      if (pOVar6 == pOVar8) goto LAB_001a0dfc;\n      do {\n        piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5);\n        piVar16 = piVar34;\n        if (pOVar21 == pOVar14) {\n          if (puVar32 == (uchar *)0x0) {\n            return;\n          }\n          uVar17 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar41 + -0x7e1c);\nLAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);\n          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0de4:\n          sVar18 = 0xe3;\n          pOVar6 = pOVar6 + 0x501;\n          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);\n          (**(code **)(pcVar41 + -0x7e0c))();\n          iVar5 = extraout_v1_01;\nLAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);\nLAB_001a0e1c:\n          uVar17 = 0x19e;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(-1 < *(int *)(puVar15 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(puVar15 + 0x20) << 1" number_literal < (binary_expression "*(int *)(puVar15 + 0x20) << 1" (pointer_expression "*(int *)(puVar15 + 0x20)" * (cast_expression "(int *)(puVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n      sVar18 = 0xcf;\n      pcVar38 = *(code **)(puVar23 + 0x291aac);\n      iVar45 = *(int *)(puVar23 + 0x291a9c) + -0x4fe0;\n      (*pcVar38)(iVar45,0xcf,*(int *)(puVar23 + 0x291a9c) + 0x7894);\n      pcVar41 = pcVar38 + 0x299684;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n      pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n      if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n        sVar18 = 0xcf;\n        pcVar41 = *(code **)(pcVar38 + 0x291878);\n        iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0;\n        (*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894);\n        pcVar38 = pcVar41 + 0x299390;\n        pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n        pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n        if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n          pcVar38 = *(code **)(pcVar41 + 0x291584);\n          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);\n          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);\n          piVar16 = (int *)puVar10[2];\n          while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }\n          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);\n          puVar10[3] = 0;\n          puVar10[2] = 0;\n          if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }\n          (**(code **)(pcVar38 + 0x2911d0))();\n          return;\n        }\n        puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n        pcVar43 = pcVar38;\n        if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a1098;\n        if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a1098;\n        pOVar6 = *(Output_file **)(pcVar41 + 0x291574);\n        if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n        iVar5 = *(int *)(iVar45 + 0x1c);\n        if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a108c;\n        in_t0 = puVar32 + iVar5;\n        pOVar6 = *(Output_file **)(sVar18 + 8);\n        pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n        if ((int)pOVar6 < (int)pOVar8) goto LAB_001a108c;\n        if (pOVar6 == pOVar8) goto LAB_001a1078;\n        do {\n          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);\n          pEVar4 = pEVar35;\n          if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }\n          while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }\n        } while( true );\n      }\n      puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n      pcVar43 = pcVar41;\n      if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a0e1c;\n      if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a0e1c;\n      pOVar6 = *(Output_file **)(pcVar38 + 0x291868);\n      if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n      iVar5 = *(int *)(iVar45 + 0x1c);\n      if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a0e10;\n      in_t0 = puVar32 + iVar5;\n      pOVar6 = *(Output_file **)(sVar18 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_001a0e10;\n      if (pOVar6 == pOVar8) goto LAB_001a0dfc;\n      do {\n        piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5);\n        piVar16 = piVar34;\n        if (pOVar21 == pOVar14) {\n          if (puVar32 == (uchar *)0x0) {\n            return;\n          }\n          uVar17 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar41 + -0x7e1c);\nLAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);\n          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0de4:\n          sVar18 = 0xe3;\n          pOVar6 = pOVar6 + 0x501;\n          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);\n          (**(code **)(pcVar41 + -0x7e0c))();\n          iVar5 = extraout_v1_01;\nLAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);\nLAB_001a0e1c:\n          uVar17 = 0x19e;\n        }\n      } while( true );\n    }" { (expression_statement "sVar18 = 0xcf;" (assignment_expression "sVar18 = 0xcf" identifier = number_literal) ;) (expression_statement "pcVar38 = *(code **)(puVar23 + 0x291aac);" (assignment_expression "pcVar38 = *(code **)(puVar23 + 0x291aac)" identifier = (pointer_expression "*(code **)(puVar23 + 0x291aac)" * (cast_expression "(code **)(puVar23 + 0x291aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x291aac)" ( (binary_expression "puVar23 + 0x291aac" identifier + number_literal) ))))) ;) (expression_statement "iVar45 = *(int *)(puVar23 + 0x291a9c) + -0x4fe0;" (assignment_expression "iVar45 = *(int *)(puVar23 + 0x291a9c) + -0x4fe0" identifier = (binary_expression "*(int *)(puVar23 + 0x291a9c) + -0x4fe0" (pointer_expression "*(int *)(puVar23 + 0x291a9c)" * (cast_expression "(int *)(puVar23 + 0x291a9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x291a9c)" ( (binary_expression "puVar23 + 0x291a9c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar38)(iVar45,0xcf,*(int *)(puVar23 + 0x291a9c) + 0x7894);" (call_expression "(*pcVar38)(iVar45,0xcf,*(int *)(puVar23 + 0x291a9c) + 0x7894)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(iVar45,0xcf,*(int *)(puVar23 + 0x291a9c) + 0x7894)" ( identifier , number_literal , (binary_expression "*(int *)(puVar23 + 0x291a9c) + 0x7894" (pointer_expression "*(int *)(puVar23 + 0x291a9c)" * (cast_expression "(int *)(puVar23 + 0x291a9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x291a9c)" ( (binary_expression "puVar23 + 0x291a9c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar41 = pcVar38 + 0x299684;" (assignment_expression "pcVar41 = pcVar38 + 0x299684" identifier = (binary_expression "pcVar38 + 0x299684" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);" (assignment_expression "pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24)" identifier = (cast_expression "(Output_file *)**(undefined4 **)(iVar45 + 0x24)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar45 + 0x24)" * (pointer_expression "*(undefined4 **)(iVar45 + 0x24)" * (cast_expression "(undefined4 **)(iVar45 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar45 + 0x24)" ( (binary_expression "iVar45 + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];" (assignment_expression "pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1]" identifier = (cast_expression "(Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1]" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(iVar45 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(iVar45 + 0x24))" ( (pointer_expression "*(undefined4 **)(iVar45 + 0x24)" * (cast_expression "(undefined4 **)(iVar45 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar45 + 0x24)" ( (binary_expression "iVar45 + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n        sVar18 = 0xcf;\n        pcVar41 = *(code **)(pcVar38 + 0x291878);\n        iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0;\n        (*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894);\n        pcVar38 = pcVar41 + 0x299390;\n        pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n        pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n        if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n          pcVar38 = *(code **)(pcVar41 + 0x291584);\n          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);\n          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);\n          piVar16 = (int *)puVar10[2];\n          while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }\n          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);\n          puVar10[3] = 0;\n          puVar10[2] = 0;\n          if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }\n          (**(code **)(pcVar38 + 0x2911d0))();\n          return;\n        }\n        puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n        pcVar43 = pcVar38;\n        if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a1098;\n        if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a1098;\n        pOVar6 = *(Output_file **)(pcVar41 + 0x291574);\n        if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n        iVar5 = *(int *)(iVar45 + 0x1c);\n        if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a108c;\n        in_t0 = puVar32 + iVar5;\n        pOVar6 = *(Output_file **)(sVar18 + 8);\n        pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n        if ((int)pOVar6 < (int)pOVar8) goto LAB_001a108c;\n        if (pOVar6 == pOVar8) goto LAB_001a1078;\n        do {\n          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);\n          pEVar4 = pEVar35;\n          if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }\n          while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }\n        } while( true );\n      }" if (parenthesized_expression "(-1 < *(int *)(iVar45 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar45 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar45 + 0x20) << 1" (pointer_expression "*(int *)(iVar45 + 0x20)" * (cast_expression "(int *)(iVar45 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x20)" ( (binary_expression "iVar45 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n        sVar18 = 0xcf;\n        pcVar41 = *(code **)(pcVar38 + 0x291878);\n        iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0;\n        (*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894);\n        pcVar38 = pcVar41 + 0x299390;\n        pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);\n        pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];\n        if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n          pcVar38 = *(code **)(pcVar41 + 0x291584);\n          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);\n          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);\n          piVar16 = (int *)puVar10[2];\n          while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }\n          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);\n          puVar10[3] = 0;\n          puVar10[2] = 0;\n          if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }\n          (**(code **)(pcVar38 + 0x2911d0))();\n          return;\n        }\n        puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);\n        pcVar43 = pcVar38;\n        if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a1098;\n        if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a1098;\n        pOVar6 = *(Output_file **)(pcVar41 + 0x291574);\n        if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n        iVar5 = *(int *)(iVar45 + 0x1c);\n        if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a108c;\n        in_t0 = puVar32 + iVar5;\n        pOVar6 = *(Output_file **)(sVar18 + 8);\n        pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));\n        if ((int)pOVar6 < (int)pOVar8) goto LAB_001a108c;\n        if (pOVar6 == pOVar8) goto LAB_001a1078;\n        do {\n          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);\n          pEVar4 = pEVar35;\n          if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }\n          while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }\n        } while( true );\n      }" { (expression_statement "sVar18 = 0xcf;" (assignment_expression "sVar18 = 0xcf" identifier = number_literal) ;) (expression_statement "pcVar41 = *(code **)(pcVar38 + 0x291878);" (assignment_expression "pcVar41 = *(code **)(pcVar38 + 0x291878)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x291878)" * (cast_expression "(code **)(pcVar38 + 0x291878)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x291878)" ( (binary_expression "pcVar38 + 0x291878" identifier + number_literal) ))))) ;) (expression_statement "iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0;" (assignment_expression "iVar45 = *(int *)(pcVar38 + 0x291868) + -0x4fe0" identifier = (binary_expression "*(int *)(pcVar38 + 0x291868) + -0x4fe0" (pointer_expression "*(int *)(pcVar38 + 0x291868)" * (cast_expression "(int *)(pcVar38 + 0x291868)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x291868)" ( (binary_expression "pcVar38 + 0x291868" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894);" (call_expression "(*pcVar41)(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894)" (parenthesized_expression "(*pcVar41)" ( (pointer_expression "*pcVar41" * identifier) )) (argument_list "(iVar45,0xcf,*(int *)(pcVar38 + 0x291868) + 0x7894)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar38 + 0x291868) + 0x7894" (pointer_expression "*(int *)(pcVar38 + 0x291868)" * (cast_expression "(int *)(pcVar38 + 0x291868)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x291868)" ( (binary_expression "pcVar38 + 0x291868" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar38 = pcVar41 + 0x299390;" (assignment_expression "pcVar38 = pcVar41 + 0x299390" identifier = (binary_expression "pcVar41 + 0x299390" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24);" (assignment_expression "pOVar21 = (Output_file *)**(undefined4 **)(iVar45 + 0x24)" identifier = (cast_expression "(Output_file *)**(undefined4 **)(iVar45 + 0x24)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar45 + 0x24)" * (pointer_expression "*(undefined4 **)(iVar45 + 0x24)" * (cast_expression "(undefined4 **)(iVar45 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar45 + 0x24)" ( (binary_expression "iVar45 + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1];" (assignment_expression "pOVar14 = (Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1]" identifier = (cast_expression "(Output_file *)(*(undefined4 **)(iVar45 + 0x24))[1]" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(iVar45 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(iVar45 + 0x24))" ( (pointer_expression "*(undefined4 **)(iVar45 + 0x24)" * (cast_expression "(undefined4 **)(iVar45 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar45 + 0x24)" ( (binary_expression "iVar45 + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(iVar45 + 0x20) << 1) {\n          pcVar38 = *(code **)(pcVar41 + 0x291584);\n          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);\n          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);\n          piVar16 = (int *)puVar10[2];\n          while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }\n          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);\n          puVar10[3] = 0;\n          puVar10[2] = 0;\n          if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }\n          (**(code **)(pcVar38 + 0x2911d0))();\n          return;\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar45 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar45 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar45 + 0x20) << 1" (pointer_expression "*(int *)(iVar45 + 0x20)" * (cast_expression "(int *)(iVar45 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x20)" ( (binary_expression "iVar45 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n          pcVar38 = *(code **)(pcVar41 + 0x291584);\n          puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);\n          (*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);\n          piVar16 = (int *)puVar10[2];\n          while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }\n          (**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);\n          puVar10[3] = 0;\n          puVar10[2] = 0;\n          if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }\n          (**(code **)(pcVar38 + 0x2911d0))();\n          return;\n        }" { (expression_statement "pcVar38 = *(code **)(pcVar41 + 0x291584);" (assignment_expression "pcVar38 = *(code **)(pcVar41 + 0x291584)" identifier = (pointer_expression "*(code **)(pcVar41 + 0x291584)" * (cast_expression "(code **)(pcVar41 + 0x291584)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar41 + 0x291584)" ( (binary_expression "pcVar41 + 0x291584" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0);" (assignment_expression "puVar10 = (undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar41 + 0x291574) + -0x4fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar41 + 0x291574) + -0x4fe0)" ( (binary_expression "*(int *)(pcVar41 + 0x291574) + -0x4fe0" (pointer_expression "*(int *)(pcVar41 + 0x291574)" * (cast_expression "(int *)(pcVar41 + 0x291574)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar41 + 0x291574)" ( (binary_expression "pcVar41 + 0x291574" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894);" (call_expression "(*pcVar38)(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(puVar10,0xcf,*(int *)(pcVar41 + 0x291574) + 0x7894)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar41 + 0x291574) + 0x7894" (pointer_expression "*(int *)(pcVar41 + 0x291574)" * (cast_expression "(int *)(pcVar41 + 0x291574)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar41 + 0x291574)" ( (binary_expression "pcVar41 + 0x291574" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar16 = (int *)puVar10[2];" (assignment_expression "piVar16 = (int *)puVar10[2]" identifier = (cast_expression "(int *)puVar10[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) ;) (while_statement "while (piVar16 != (int *)0x0) {\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }" while (parenthesized_expression "(piVar16 != (int *)0x0)" ( (binary_expression "piVar16 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar16 = (int *)*piVar16;\n            (**(code **)(pcVar38 + 0x2911d0))();\n          }" { (expression_statement "piVar16 = (int *)*piVar16;" (assignment_expression "piVar16 = (int *)*piVar16" identifier = (cast_expression "(int *)*piVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (expression_statement "(**(code **)(pcVar38 + 0x2911d0))();" (call_expression "(**(code **)(pcVar38 + 0x2911d0))()" (parenthesized_expression "(**(code **)(pcVar38 + 0x2911d0))" ( (pointer_expression "**(code **)(pcVar38 + 0x2911d0)" * (pointer_expression "*(code **)(pcVar38 + 0x2911d0)" * (cast_expression "(code **)(pcVar38 + 0x2911d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2911d0)" ( (binary_expression "pcVar38 + 0x2911d0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2);" (call_expression "(**(code **)(pcVar38 + 0x295794))(*puVar10,0,puVar10[1] << 2)" (parenthesized_expression "(**(code **)(pcVar38 + 0x295794))" ( (pointer_expression "**(code **)(pcVar38 + 0x295794)" * (pointer_expression "*(code **)(pcVar38 + 0x295794)" * (cast_expression "(code **)(pcVar38 + 0x295794)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x295794)" ( (binary_expression "pcVar38 + 0x295794" identifier + number_literal) ))))) )) (argument_list "(*puVar10,0,puVar10[1] << 2)" ( (pointer_expression "*puVar10" * identifier) , number_literal , (binary_expression "puVar10[1] << 2" (subscript_expression "puVar10[1]" identifier [ number_literal ]) << number_literal) ))) ;) (expression_statement "puVar10[3] = 0;" (assignment_expression "puVar10[3] = 0" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0;" (assignment_expression "puVar10[2] = 0" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((undefined4 *)*puVar10 == puVar10 + 6) {\n            return;\n          }" if (parenthesized_expression "((undefined4 *)*puVar10 == puVar10 + 6)" ( (binary_expression "(undefined4 *)*puVar10 == puVar10 + 6" (cast_expression "(undefined4 *)*puVar10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier)) == (binary_expression "puVar10 + 6" identifier + number_literal)) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar38 + 0x2911d0))();" (call_expression "(**(code **)(pcVar38 + 0x2911d0))()" (parenthesized_expression "(**(code **)(pcVar38 + 0x2911d0))" ( (pointer_expression "**(code **)(pcVar38 + 0x2911d0)" * (pointer_expression "*(code **)(pcVar38 + 0x2911d0)" * (cast_expression "(code **)(pcVar38 + 0x2911d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2911d0)" ( (binary_expression "pcVar38 + 0x2911d0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);" (assignment_expression "puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38)" identifier = (cast_expression "(uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38)" ( (binary_expression "((int)pOVar14 - (int)pOVar21 >> 2) * 0x38" (parenthesized_expression "((int)pOVar14 - (int)pOVar21 >> 2)" ( (binary_expression "(int)pOVar14 - (int)pOVar21 >> 2" (binary_expression "(int)pOVar14 - (int)pOVar21" (cast_expression "(int)pOVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar21" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) ;) (expression_statement "pcVar43 = pcVar38;" (assignment_expression "pcVar43 = pcVar38" identifier = identifier) ;) (if_statement "if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a1098;" if (parenthesized_expression "(*(int *)(iVar45 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar45 + 0x10) != 0" (pointer_expression "*(int *)(iVar45 + 0x10)" * (cast_expression "(int *)(iVar45 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x10)" ( (binary_expression "iVar45 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001a1098;" goto statement_identifier ;)) (if_statement "if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a1098;" if (parenthesized_expression "(*(uchar **)(iVar45 + 0x14) != puVar32)" ( (binary_expression "*(uchar **)(iVar45 + 0x14) != puVar32" (pointer_expression "*(uchar **)(iVar45 + 0x14)" * (cast_expression "(uchar **)(iVar45 + 0x14)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar45 + 0x14)" ( (binary_expression "iVar45 + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_001a1098;" goto statement_identifier ;)) (expression_statement "pOVar6 = *(Output_file **)(pcVar41 + 0x291574);" (assignment_expression "pOVar6 = *(Output_file **)(pcVar41 + 0x291574)" identifier = (pointer_expression "*(Output_file **)(pcVar41 + 0x291574)" * (cast_expression "(Output_file **)(pcVar41 + 0x291574)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar41 + 0x291574)" ( (binary_expression "pcVar41 + 0x291574" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;" if (parenthesized_expression "(-1 < *(int *)(iVar45 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar45 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar45 + 0x20) << 2" (pointer_expression "*(int *)(iVar45 + 0x20)" * (cast_expression "(int *)(iVar45 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x20)" ( (binary_expression "iVar45 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_001a1060;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(iVar45 + 0x1c);" (assignment_expression "iVar5 = *(int *)(iVar45 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar45 + 0x1c)" * (cast_expression "(int *)(iVar45 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x1c)" ( (binary_expression "iVar45 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a108c;" if (parenthesized_expression "(*(int *)(iVar45 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar45 + 0x18) < 0" (pointer_expression "*(int *)(iVar45 + 0x18)" * (cast_expression "(int *)(iVar45 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x18)" ( (binary_expression "iVar45 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_001a108c;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar32 + iVar5;" (assignment_expression "in_t0 = puVar32 + iVar5" identifier = (binary_expression "puVar32 + iVar5" identifier + identifier)) ;) (expression_statement "pOVar6 = *(Output_file **)(sVar18 + 8);" (assignment_expression "pOVar6 = *(Output_file **)(sVar18 + 8)" identifier = (pointer_expression "*(Output_file **)(sVar18 + 8)" * (cast_expression "(Output_file **)(sVar18 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 8)" ( (binary_expression "sVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));" (assignment_expression "pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18))" identifier = (cast_expression "(Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18))" ( (binary_expression "(uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18)" (call_expression "(uint)(in_t0 < puVar32)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar32)" ( (binary_expression "in_t0 < puVar32" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar45 + 0x18)" * (cast_expression "(int *)(iVar45 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x18)" ( (binary_expression "iVar45 + 0x18" identifier + number_literal) ))))) )))) ;) (if_statement "if ((int)pOVar6 < (int)pOVar8) goto LAB_001a108c;" if (parenthesized_expression "((int)pOVar6 < (int)pOVar8)" ( (binary_expression "(int)pOVar6 < (int)pOVar8" (cast_expression "(int)pOVar6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pOVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001a108c;" goto statement_identifier ;)) (if_statement "if (pOVar6 == pOVar8) goto LAB_001a1078;" if (parenthesized_expression "(pOVar6 == pOVar8)" ( (binary_expression "pOVar6 == pOVar8" identifier == identifier) )) (goto_statement "goto LAB_001a1078;" goto statement_identifier ;)) (do_statement "do {\n          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);\n          pEVar4 = pEVar35;\n          if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }\n          while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }\n        } while( true );" do (compound_statement "{\n          pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);\n          pEVar4 = pEVar35;\n          if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }\n          while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }\n        }" { (expression_statement "pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5);" (assignment_expression "pEVar35 = (Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5)" identifier = (cast_expression "(Elf_Word *)(*(int *)(sVar18 + 0x10) + iVar5)" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar18 + 0x10) + iVar5)" ( (binary_expression "*(int *)(sVar18 + 0x10) + iVar5" (pointer_expression "*(int *)(sVar18 + 0x10)" * (cast_expression "(int *)(sVar18 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 + 0x10)" ( (binary_expression "sVar18 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "pEVar4 = pEVar35;" (assignment_expression "pEVar4 = pEVar35" identifier = identifier) ;) (if_statement "if (pOVar21 == pOVar14) {\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }\n          else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }" if (parenthesized_expression "(pOVar21 == pOVar14)" ( (binary_expression "pOVar21 == pOVar14" identifier == identifier) )) (compound_statement "{\n            if (puVar32 == (uchar *)0x0) {\n              return;\n            }\n            uVar17 = 0x1ab;\n          }" { (if_statement "if (puVar32 == (uchar *)0x0) {\n              return;\n            }" if (parenthesized_expression "(puVar32 == (uchar *)0x0)" ( (binary_expression "puVar32 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar17 = 0x1ab;" (assignment_expression "uVar17 = 0x1ab" identifier = number_literal) ;) }) (else_clause "else {\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }" else (compound_statement "{\n            do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);\nLAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;\n            puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));\n            uVar17 = 0x1ab;\n            if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }\n          }" { (do_statement "do {\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_);" do (compound_statement "{\n              while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }\n              iVar5 = *(int *)(iVar45 + 0x24);\n              pEVar28[0xc] = uVar12;\n              pEVar28[0xd] = uVar19;\n              pEVar4 = pEVar28 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n            }" { (while_statement "while( true ) {\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                pcVar38 = pcVar43;\n                pOVar14 = pOVar21;\n                pEVar28 = pEVar4;\n                pOVar26 = (Output_segment *)pOVar14->name_;\n                EVar9 = *(Elf_Word *)&pOVar26->offset_;\n                EVar20 = pOVar26->type_;\n                pEVar28[3] = (Elf_Word)pOVar26->offset_;\n                pEVar28[2] = EVar9;\n                uVar42 = pOVar26->vaddr_;\n                EVar9 = *(Elf_Word *)&pOVar26->vaddr_;\n                *pEVar28 = EVar20;\n                EVar20 = pOVar26->flags_;\n                pEVar28[5] = (Elf_Word)uVar42;\n                pEVar28[4] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->paddr_;\n                pEVar28[7] = (Elf_Word)pOVar26->paddr_;\n                pEVar28[6] = EVar9;\n                EVar9 = *(Elf_Word *)&pOVar26->filesz_;\n                pEVar28[9] = (Elf_Word)pOVar26->filesz_;\n                pEVar28[8] = EVar9;\n                uVar42 = pOVar26->memsz_;\n                EVar9 = *(Elf_Word *)&pOVar26->memsz_;\n                pEVar28[1] = EVar20;\n                pEVar28[0xb] = (Elf_Word)uVar42;\n                pEVar28[10] = EVar9;\n                uVar42 = Output_segment::maximum_alignment(pOVar26);\n                uVar7 = (uint)(uVar42 >> 0x20);\n                uVar12 = *(uint *)&pOVar26->min_p_align_;\n                uVar19 = (uint)pOVar26->min_p_align_;\n                pcVar43 = pcVar38;\n                if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;\n                iVar5 = *(int *)(iVar45 + 0x24);\n                *(uint64_t *)(pEVar28 + 0xc) = uVar42;\n                pEVar4 = pEVar28 + 0xe;\n                pOVar21 = (Output_file *)&pOVar14->o_;\n                if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;\n              }" { (expression_statement "pcVar38 = pcVar43;" (assignment_expression "pcVar38 = pcVar43" identifier = identifier) ;) (expression_statement "pOVar14 = pOVar21;" (assignment_expression "pOVar14 = pOVar21" identifier = identifier) ;) (expression_statement "pEVar28 = pEVar4;" (assignment_expression "pEVar28 = pEVar4" identifier = identifier) ;) (expression_statement "pOVar26 = (Output_segment *)pOVar14->name_;" (assignment_expression "pOVar26 = (Output_segment *)pOVar14->name_" identifier = (cast_expression "(Output_segment *)pOVar14->name_" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar14->name_" identifier -> field_identifier))) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar26->offset_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar26->offset_" identifier = (pointer_expression "*(Elf_Word *)&pOVar26->offset_" * (cast_expression "(Elf_Word *)&pOVar26->offset_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->offset_" & (field_expression "pOVar26->offset_" identifier -> field_identifier))))) ;) (expression_statement "EVar20 = pOVar26->type_;" (assignment_expression "EVar20 = pOVar26->type_" identifier = (field_expression "pOVar26->type_" identifier -> field_identifier)) ;) (expression_statement "pEVar28[3] = (Elf_Word)pOVar26->offset_;" (assignment_expression "pEVar28[3] = (Elf_Word)pOVar26->offset_" (subscript_expression "pEVar28[3]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)pOVar26->offset_" ( (type_descriptor "Elf_Word" type_identifier) ) (field_expression "pOVar26->offset_" identifier -> field_identifier))) ;) (expression_statement "pEVar28[2] = EVar9;" (assignment_expression "pEVar28[2] = EVar9" (subscript_expression "pEVar28[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar42 = pOVar26->vaddr_;" (assignment_expression "uVar42 = pOVar26->vaddr_" identifier = (field_expression "pOVar26->vaddr_" identifier -> field_identifier)) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar26->vaddr_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar26->vaddr_" identifier = (pointer_expression "*(Elf_Word *)&pOVar26->vaddr_" * (cast_expression "(Elf_Word *)&pOVar26->vaddr_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->vaddr_" & (field_expression "pOVar26->vaddr_" identifier -> field_identifier))))) ;) (expression_statement "*pEVar28 = EVar20;" (assignment_expression "*pEVar28 = EVar20" (pointer_expression "*pEVar28" * identifier) = identifier) ;) (expression_statement "EVar20 = pOVar26->flags_;" (assignment_expression "EVar20 = pOVar26->flags_" identifier = (field_expression "pOVar26->flags_" identifier -> field_identifier)) ;) (expression_statement "pEVar28[5] = (Elf_Word)uVar42;" (assignment_expression "pEVar28[5] = (Elf_Word)uVar42" (subscript_expression "pEVar28[5]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)uVar42" ( (type_descriptor "Elf_Word" type_identifier) ) identifier)) ;) (expression_statement "pEVar28[4] = EVar9;" (assignment_expression "pEVar28[4] = EVar9" (subscript_expression "pEVar28[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar26->paddr_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar26->paddr_" identifier = (pointer_expression "*(Elf_Word *)&pOVar26->paddr_" * (cast_expression "(Elf_Word *)&pOVar26->paddr_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->paddr_" & (field_expression "pOVar26->paddr_" identifier -> field_identifier))))) ;) (expression_statement "pEVar28[7] = (Elf_Word)pOVar26->paddr_;" (assignment_expression "pEVar28[7] = (Elf_Word)pOVar26->paddr_" (subscript_expression "pEVar28[7]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)pOVar26->paddr_" ( (type_descriptor "Elf_Word" type_identifier) ) (field_expression "pOVar26->paddr_" identifier -> field_identifier))) ;) (expression_statement "pEVar28[6] = EVar9;" (assignment_expression "pEVar28[6] = EVar9" (subscript_expression "pEVar28[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar26->filesz_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar26->filesz_" identifier = (pointer_expression "*(Elf_Word *)&pOVar26->filesz_" * (cast_expression "(Elf_Word *)&pOVar26->filesz_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->filesz_" & (field_expression "pOVar26->filesz_" identifier -> field_identifier))))) ;) (expression_statement "pEVar28[9] = (Elf_Word)pOVar26->filesz_;" (assignment_expression "pEVar28[9] = (Elf_Word)pOVar26->filesz_" (subscript_expression "pEVar28[9]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)pOVar26->filesz_" ( (type_descriptor "Elf_Word" type_identifier) ) (field_expression "pOVar26->filesz_" identifier -> field_identifier))) ;) (expression_statement "pEVar28[8] = EVar9;" (assignment_expression "pEVar28[8] = EVar9" (subscript_expression "pEVar28[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar42 = pOVar26->memsz_;" (assignment_expression "uVar42 = pOVar26->memsz_" identifier = (field_expression "pOVar26->memsz_" identifier -> field_identifier)) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar26->memsz_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar26->memsz_" identifier = (pointer_expression "*(Elf_Word *)&pOVar26->memsz_" * (cast_expression "(Elf_Word *)&pOVar26->memsz_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->memsz_" & (field_expression "pOVar26->memsz_" identifier -> field_identifier))))) ;) (expression_statement "pEVar28[1] = EVar20;" (assignment_expression "pEVar28[1] = EVar20" (subscript_expression "pEVar28[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pEVar28[0xb] = (Elf_Word)uVar42;" (assignment_expression "pEVar28[0xb] = (Elf_Word)uVar42" (subscript_expression "pEVar28[0xb]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)uVar42" ( (type_descriptor "Elf_Word" type_identifier) ) identifier)) ;) (expression_statement "pEVar28[10] = EVar9;" (assignment_expression "pEVar28[10] = EVar9" (subscript_expression "pEVar28[10]" identifier [ number_literal ]) = identifier) ;) (ERROR "uVar42 = Output_segment::" (assignment_expression "uVar42 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar26);" (call_expression "maximum_alignment(pOVar26)" identifier (argument_list "(pOVar26)" ( identifier ))) ;) (expression_statement "uVar7 = (uint)(uVar42 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar42 >> 0x20)" identifier = (call_expression "(uint)(uVar42 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar42 >> 0x20)" ( (binary_expression "uVar42 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar12 = *(uint *)&pOVar26->min_p_align_;" (assignment_expression "uVar12 = *(uint *)&pOVar26->min_p_align_" identifier = (pointer_expression "*(uint *)&pOVar26->min_p_align_" * (cast_expression "(uint *)&pOVar26->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->min_p_align_" & (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))))) ;) (expression_statement "uVar19 = (uint)pOVar26->min_p_align_;" (assignment_expression "uVar19 = (uint)pOVar26->min_p_align_" identifier = (cast_expression "(uint)pOVar26->min_p_align_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))) ;) (expression_statement "pcVar43 = pcVar38;" (assignment_expression "pcVar43 = pcVar38" identifier = identifier) ;) (if_statement "if ((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))) break;" if (parenthesized_expression "((uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19))))" ( (binary_expression "(uVar7 <= uVar12) && ((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))" (parenthesized_expression "(uVar7 <= uVar12)" ( (binary_expression "uVar7 <= uVar12" identifier <= identifier) )) && (parenthesized_expression "((uVar7 != uVar12 || ((uint)uVar42 <= uVar19)))" ( (parenthesized_expression "(uVar7 != uVar12 || ((uint)uVar42 <= uVar19))" ( (binary_expression "uVar7 != uVar12 || ((uint)uVar42 <= uVar19)" (binary_expression "uVar7 != uVar12" identifier != identifier) || (parenthesized_expression "((uint)uVar42 <= uVar19)" ( (binary_expression "(uint)uVar42 <= uVar19" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = *(int *)(iVar45 + 0x24);" (assignment_expression "iVar5 = *(int *)(iVar45 + 0x24)" identifier = (pointer_expression "*(int *)(iVar45 + 0x24)" * (cast_expression "(int *)(iVar45 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x24)" ( (binary_expression "iVar45 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(uint64_t *)(pEVar28 + 0xc) = uVar42;" (assignment_expression "*(uint64_t *)(pEVar28 + 0xc) = uVar42" (pointer_expression "*(uint64_t *)(pEVar28 + 0xc)" * (cast_expression "(uint64_t *)(pEVar28 + 0xc)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar28 + 0xc)" ( (binary_expression "pEVar28 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "pEVar4 = pEVar28 + 0xe;" (assignment_expression "pEVar4 = pEVar28 + 0xe" identifier = (binary_expression "pEVar28 + 0xe" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)&pOVar14->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar14->o_" identifier = (cast_expression "(Output_file *)&pOVar14->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier)))) ;) (if_statement "if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_) goto LAB_001a0fdc;" if (parenthesized_expression "((int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_)" ( (binary_expression "(int *)*(undefined1 **)(iVar5 + 4) == &pOVar14->o_" (cast_expression "(int *)*(undefined1 **)(iVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined1 **)(iVar5 + 4)" * (cast_expression "(undefined1 **)(iVar5 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) == (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier))) )) (goto_statement "goto LAB_001a0fdc;" goto statement_identifier ;)) })) (expression_statement "iVar5 = *(int *)(iVar45 + 0x24);" (assignment_expression "iVar5 = *(int *)(iVar45 + 0x24)" identifier = (pointer_expression "*(int *)(iVar45 + 0x24)" * (cast_expression "(int *)(iVar45 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x24)" ( (binary_expression "iVar45 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pEVar28[0xc] = uVar12;" (assignment_expression "pEVar28[0xc] = uVar12" (subscript_expression "pEVar28[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pEVar28[0xd] = uVar19;" (assignment_expression "pEVar28[0xd] = uVar19" (subscript_expression "pEVar28[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pEVar4 = pEVar28 + 0xe;" (assignment_expression "pEVar4 = pEVar28 + 0xe" identifier = (binary_expression "pEVar28 + 0xe" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)&pOVar14->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar14->o_" identifier = (cast_expression "(Output_file *)&pOVar14->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "((int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_)" ( (binary_expression "(int *)*(undefined1 **)(iVar5 + 4) != &pOVar14->o_" (cast_expression "(int *)*(undefined1 **)(iVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined1 **)(iVar5 + 4)" * (cast_expression "(undefined1 **)(iVar5 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) != (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier))) )) ;) (labeled_statement "LAB_001a0fdc:\n            pOVar21 = (Output_file *)&pOVar14->o_;" statement_identifier : (expression_statement "pOVar21 = (Output_file *)&pOVar14->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar14->o_" identifier = (cast_expression "(Output_file *)&pOVar14->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier)))) ;)) (expression_statement "puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35));" (assignment_expression "puVar31 = (uchar *)((int)pEVar28 + (0x38 - (int)pEVar35))" identifier = (cast_expression "(uchar *)((int)pEVar28 + (0x38 - (int)pEVar35))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar28 + (0x38 - (int)pEVar35))" ( (binary_expression "(int)pEVar28 + (0x38 - (int)pEVar35)" (cast_expression "(int)pEVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x38 - (int)pEVar35)" ( (binary_expression "0x38 - (int)pEVar35" number_literal - (cast_expression "(int)pEVar35" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "uVar17 = 0x1ab;" (assignment_expression "uVar17 = 0x1ab" identifier = number_literal) ;) (if_statement "if (-1 < (int)puVar31) {\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }" if (parenthesized_expression "(-1 < (int)puVar31)" ( (binary_expression "-1 < (int)puVar31" number_literal < (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar5 = *(int *)(pcVar38 + -0x7e1c);\n              if (puVar31 != puVar32) goto LAB_001a104c;\n              pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);\n              if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;\n              return;\n            }" { (expression_statement "iVar5 = *(int *)(pcVar38 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(pcVar38 + -0x7e1c)" identifier = (pointer_expression "*(int *)(pcVar38 + -0x7e1c)" * (cast_expression "(int *)(pcVar38 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + -0x7e1c)" ( (binary_expression "pcVar38 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (puVar31 != puVar32) goto LAB_001a104c;" if (parenthesized_expression "(puVar31 != puVar32)" ( (binary_expression "puVar31 != puVar32" identifier != identifier) )) (goto_statement "goto LAB_001a104c;" goto statement_identifier ;)) (expression_statement "pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c);" (assignment_expression "pOVar6 = *(Output_file **)(pcVar38 + -0x7e1c)" identifier = (pointer_expression "*(Output_file **)(pcVar38 + -0x7e1c)" * (cast_expression "(Output_file **)(pcVar38 + -0x7e1c)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + -0x7e1c)" ( (binary_expression "pcVar38 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a1060;" if (parenthesized_expression "(-1 < *(int *)(iVar45 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar45 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar45 + 0x20) << 2" (pointer_expression "*(int *)(iVar45 + 0x20)" * (cast_expression "(int *)(iVar45 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x20)" ( (binary_expression "iVar45 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_001a1060;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (while_statement "while( true ) {\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar5 = *(int *)(pcVar38 + -0x7e1c);\nLAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);\n            (**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a1060:\n            sVar18 = 0xe3;\n            pOVar6 = pOVar6 + 0x501;\n            pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);\n            (**(code **)(pcVar38 + -0x7e0c))();\n            iVar5 = extraout_v1_02;\nLAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n            if (in_t0 == (uchar *)0x0) break;\nLAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);\nLAB_001a1098:\n            uVar17 = 0x19e;\n          }" { (expression_statement "iVar5 = *(int *)(pcVar38 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(pcVar38 + -0x7e1c)" identifier = (pointer_expression "*(int *)(pcVar38 + -0x7e1c)" * (cast_expression "(int *)(pcVar38 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + -0x7e1c)" ( (binary_expression "pcVar38 + -0x7e1c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001a104c:\n            pOVar6 = (Output_file *)(iVar5 + 0x7728);" statement_identifier : (expression_statement "pOVar6 = (Output_file *)(iVar5 + 0x7728);" (assignment_expression "pOVar6 = (Output_file *)(iVar5 + 0x7728)" identifier = (cast_expression "(Output_file *)(iVar5 + 0x7728)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x7728)" ( (binary_expression "iVar5 + 0x7728" identifier + number_literal) )))) ;)) (expression_statement "(**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17);" (call_expression "(**(code **)(pcVar38 + -0x7e0c))(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17)" (parenthesized_expression "(**(code **)(pcVar38 + -0x7e0c))" ( (pointer_expression "**(code **)(pcVar38 + -0x7e0c)" * (pointer_expression "*(code **)(pcVar38 + -0x7e0c)" * (cast_expression "(code **)(pcVar38 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + -0x7e0c)" ( (binary_expression "pcVar38 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar38 + -0x7e1c) + 0x59f0,uVar17)" ( (binary_expression "*(int *)(pcVar38 + -0x7e1c) + 0x59f0" (pointer_expression "*(int *)(pcVar38 + -0x7e1c)" * (cast_expression "(int *)(pcVar38 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + -0x7e1c)" ( (binary_expression "pcVar38 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_001a1060:\n            sVar18 = 0xe3;" statement_identifier : (expression_statement "sVar18 = 0xe3;" (assignment_expression "sVar18 = 0xe3" identifier = number_literal) ;)) (expression_statement "pOVar6 = pOVar6 + 0x501;" (assignment_expression "pOVar6 = pOVar6 + 0x501" identifier = (binary_expression "pOVar6 + 0x501" identifier + number_literal)) ;) (expression_statement "pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0);" (assignment_expression "pOVar14 = (Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + -0x7e1c) + -0x4fe0)" ( (binary_expression "*(int *)(pcVar38 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(pcVar38 + -0x7e1c)" * (cast_expression "(int *)(pcVar38 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + -0x7e1c)" ( (binary_expression "pcVar38 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar38 + -0x7e0c))();" (call_expression "(**(code **)(pcVar38 + -0x7e0c))()" (parenthesized_expression "(**(code **)(pcVar38 + -0x7e0c))" ( (pointer_expression "**(code **)(pcVar38 + -0x7e0c)" * (pointer_expression "*(code **)(pcVar38 + -0x7e0c)" * (cast_expression "(code **)(pcVar38 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + -0x7e0c)" ( (binary_expression "pcVar38 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = extraout_v1_02;" (assignment_expression "iVar5 = extraout_v1_02" identifier = identifier) ;) (labeled_statement "LAB_001a1078:\n            in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);" (assignment_expression "in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0)" identifier = (cast_expression "(uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(uchar **)(sVar18 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uchar **)(sVar18 + 0xc) < in_t0)" ( (binary_expression "*(uchar **)(sVar18 + 0xc) < in_t0" (pointer_expression "*(uchar **)(sVar18 + 0xc)" * (cast_expression "(uchar **)(sVar18 + 0xc)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0xc)" ( (binary_expression "sVar18 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (uchar *)0x0) break;" if (parenthesized_expression "(in_t0 == (uchar *)0x0)" ( (binary_expression "in_t0 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001a108c:\n            Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);" statement_identifier : (labeled_statement "Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6);" (call_expression "get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6)" identifier (argument_list "(pOVar14,CONCAT44(pcVar43,in_stack_ffffff34),sVar18,pOVar6)" ( identifier , (call_expression "CONCAT44(pcVar43,in_stack_ffffff34)" identifier (argument_list "(pcVar43,in_stack_ffffff34)" ( identifier , identifier ))) , identifier , identifier ))) ;))) (labeled_statement "LAB_001a1098:\n            uVar17 = 0x19e;" statement_identifier : (expression_statement "uVar17 = 0x19e;" (assignment_expression "uVar17 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38);" (assignment_expression "puVar32 = (uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38)" identifier = (cast_expression "(uchar *)(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)pOVar14 - (int)pOVar21 >> 2) * 0x38)" ( (binary_expression "((int)pOVar14 - (int)pOVar21 >> 2) * 0x38" (parenthesized_expression "((int)pOVar14 - (int)pOVar21 >> 2)" ( (binary_expression "(int)pOVar14 - (int)pOVar21 >> 2" (binary_expression "(int)pOVar14 - (int)pOVar21" (cast_expression "(int)pOVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar21" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) ;) (expression_statement "pcVar43 = pcVar41;" (assignment_expression "pcVar43 = pcVar41" identifier = identifier) ;) (if_statement "if (*(int *)(iVar45 + 0x10) != 0) goto LAB_001a0e1c;" if (parenthesized_expression "(*(int *)(iVar45 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar45 + 0x10) != 0" (pointer_expression "*(int *)(iVar45 + 0x10)" * (cast_expression "(int *)(iVar45 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x10)" ( (binary_expression "iVar45 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001a0e1c;" goto statement_identifier ;)) (if_statement "if (*(uchar **)(iVar45 + 0x14) != puVar32) goto LAB_001a0e1c;" if (parenthesized_expression "(*(uchar **)(iVar45 + 0x14) != puVar32)" ( (binary_expression "*(uchar **)(iVar45 + 0x14) != puVar32" (pointer_expression "*(uchar **)(iVar45 + 0x14)" * (cast_expression "(uchar **)(iVar45 + 0x14)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar45 + 0x14)" ( (binary_expression "iVar45 + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_001a0e1c;" goto statement_identifier ;)) (expression_statement "pOVar6 = *(Output_file **)(pcVar38 + 0x291868);" (assignment_expression "pOVar6 = *(Output_file **)(pcVar38 + 0x291868)" identifier = (pointer_expression "*(Output_file **)(pcVar38 + 0x291868)" * (cast_expression "(Output_file **)(pcVar38 + 0x291868)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x291868)" ( (binary_expression "pcVar38 + 0x291868" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;" if (parenthesized_expression "(-1 < *(int *)(iVar45 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar45 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar45 + 0x20) << 2" (pointer_expression "*(int *)(iVar45 + 0x20)" * (cast_expression "(int *)(iVar45 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x20)" ( (binary_expression "iVar45 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_001a0de4;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(iVar45 + 0x1c);" (assignment_expression "iVar5 = *(int *)(iVar45 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar45 + 0x1c)" * (cast_expression "(int *)(iVar45 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x1c)" ( (binary_expression "iVar45 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar45 + 0x18) < 0) goto LAB_001a0e10;" if (parenthesized_expression "(*(int *)(iVar45 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar45 + 0x18) < 0" (pointer_expression "*(int *)(iVar45 + 0x18)" * (cast_expression "(int *)(iVar45 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x18)" ( (binary_expression "iVar45 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_001a0e10;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar32 + iVar5;" (assignment_expression "in_t0 = puVar32 + iVar5" identifier = (binary_expression "puVar32 + iVar5" identifier + identifier)) ;) (expression_statement "pOVar6 = *(Output_file **)(sVar18 + 8);" (assignment_expression "pOVar6 = *(Output_file **)(sVar18 + 8)" identifier = (pointer_expression "*(Output_file **)(sVar18 + 8)" * (cast_expression "(Output_file **)(sVar18 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 8)" ( (binary_expression "sVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18));" (assignment_expression "pOVar8 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18))" identifier = (cast_expression "(Output_file *)((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18))" ( (binary_expression "(uint)(in_t0 < puVar32) + *(int *)(iVar45 + 0x18)" (call_expression "(uint)(in_t0 < puVar32)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar32)" ( (binary_expression "in_t0 < puVar32" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar45 + 0x18)" * (cast_expression "(int *)(iVar45 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x18)" ( (binary_expression "iVar45 + 0x18" identifier + number_literal) ))))) )))) ;) (if_statement "if ((int)pOVar6 < (int)pOVar8) goto LAB_001a0e10;" if (parenthesized_expression "((int)pOVar6 < (int)pOVar8)" ( (binary_expression "(int)pOVar6 < (int)pOVar8" (cast_expression "(int)pOVar6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pOVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001a0e10;" goto statement_identifier ;)) (if_statement "if (pOVar6 == pOVar8) goto LAB_001a0dfc;" if (parenthesized_expression "(pOVar6 == pOVar8)" ( (binary_expression "pOVar6 == pOVar8" identifier == identifier) )) (goto_statement "goto LAB_001a0dfc;" goto statement_identifier ;)) (do_statement "do {\n        piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5);\n        piVar16 = piVar34;\n        if (pOVar21 == pOVar14) {\n          if (puVar32 == (uchar *)0x0) {\n            return;\n          }\n          uVar17 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar41 + -0x7e1c);\nLAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);\n          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0de4:\n          sVar18 = 0xe3;\n          pOVar6 = pOVar6 + 0x501;\n          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);\n          (**(code **)(pcVar41 + -0x7e0c))();\n          iVar5 = extraout_v1_01;\nLAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);\nLAB_001a0e1c:\n          uVar17 = 0x19e;\n        }\n      } while( true );" do (compound_statement "{\n        piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5);\n        piVar16 = piVar34;\n        if (pOVar21 == pOVar14) {\n          if (puVar32 == (uchar *)0x0) {\n            return;\n          }\n          uVar17 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar41 + -0x7e1c);\nLAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);\n          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0de4:\n          sVar18 = 0xe3;\n          pOVar6 = pOVar6 + 0x501;\n          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);\n          (**(code **)(pcVar41 + -0x7e0c))();\n          iVar5 = extraout_v1_01;\nLAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);\nLAB_001a0e1c:\n          uVar17 = 0x19e;\n        }\n      }" { (expression_statement "piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5);" (assignment_expression "piVar34 = (int *)(*(int *)(sVar18 + 0x10) + iVar5)" identifier = (cast_expression "(int *)(*(int *)(sVar18 + 0x10) + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar18 + 0x10) + iVar5)" ( (binary_expression "*(int *)(sVar18 + 0x10) + iVar5" (pointer_expression "*(int *)(sVar18 + 0x10)" * (cast_expression "(int *)(sVar18 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 + 0x10)" ( (binary_expression "sVar18 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "piVar16 = piVar34;" (assignment_expression "piVar16 = piVar34" identifier = identifier) ;) (if_statement "if (pOVar21 == pOVar14) {\n          if (puVar32 == (uchar *)0x0) {\n            return;\n          }\n          uVar17 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }" if (parenthesized_expression "(pOVar21 == pOVar14)" ( (binary_expression "pOVar21 == pOVar14" identifier == identifier) )) (compound_statement "{\n          if (puVar32 == (uchar *)0x0) {\n            return;\n          }\n          uVar17 = 0x1ab;\n        }" { (if_statement "if (puVar32 == (uchar *)0x0) {\n            return;\n          }" if (parenthesized_expression "(puVar32 == (uchar *)0x0)" ( (binary_expression "puVar32 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "uVar17 = 0x1ab;" (assignment_expression "uVar17 = 0x1ab" identifier = number_literal) ;) }) (else_clause "else {\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }" else (compound_statement "{\n          do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);\nLAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;\n          puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));\n          uVar17 = 0x1ab;\n          if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }\n        }" { (do_statement "do {\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          } while ((int *)puVar13 != &pOVar14->o_);" do (compound_statement "{\n            while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }\n            puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n            piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n            piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n            piVar16 = piVar27 + 0xe;\n            pOVar21 = (Output_file *)&pOVar14->o_;\n          }" { (while_statement "while( true ) {\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pcVar41 = pcVar43;\n              pOVar14 = pOVar21;\n              piVar27 = piVar16;\n              pOVar26 = (Output_segment *)pOVar14->name_;\n              uVar12 = *(uint *)&pOVar26->offset_;\n              uVar7 = (uint)pOVar26->offset_;\n              uVar19 = pOVar26->type_;\n              piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->vaddr_;\n              uVar7 = (uint)pOVar26->vaddr_;\n              *piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              uVar19 = pOVar26->flags_;\n              piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->paddr_;\n              uVar7 = (uint)pOVar26->paddr_;\n              piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->filesz_;\n              uVar7 = (uint)pOVar26->filesz_;\n              piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar12 = *(uint *)&pOVar26->memsz_;\n              uVar7 = (uint)pOVar26->memsz_;\n              piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n              piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n              uVar42 = Output_segment::maximum_alignment(pOVar26);\n              uVar7 = (uint)(uVar42 >> 0x20);\n              uVar12 = (uint)uVar42;\n              uVar19 = *(uint *)&pOVar26->min_p_align_;\n              uVar22 = (uint)pOVar26->min_p_align_;\n              pcVar43 = pcVar41;\n              if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;\n              puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);\n              piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n              piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;\n              piVar16 = piVar27 + 0xe;\n              pOVar21 = (Output_file *)&pOVar14->o_;\n              if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;\n            }" { (expression_statement "pcVar41 = pcVar43;" (assignment_expression "pcVar41 = pcVar43" identifier = identifier) ;) (expression_statement "pOVar14 = pOVar21;" (assignment_expression "pOVar14 = pOVar21" identifier = identifier) ;) (expression_statement "piVar27 = piVar16;" (assignment_expression "piVar27 = piVar16" identifier = identifier) ;) (expression_statement "pOVar26 = (Output_segment *)pOVar14->name_;" (assignment_expression "pOVar26 = (Output_segment *)pOVar14->name_" identifier = (cast_expression "(Output_segment *)pOVar14->name_" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar14->name_" identifier -> field_identifier))) ;) (expression_statement "uVar12 = *(uint *)&pOVar26->offset_;" (assignment_expression "uVar12 = *(uint *)&pOVar26->offset_" identifier = (pointer_expression "*(uint *)&pOVar26->offset_" * (cast_expression "(uint *)&pOVar26->offset_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->offset_" & (field_expression "pOVar26->offset_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar26->offset_;" (assignment_expression "uVar7 = (uint)pOVar26->offset_" identifier = (cast_expression "(uint)pOVar26->offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->offset_" identifier -> field_identifier))) ;) (expression_statement "uVar19 = pOVar26->type_;" (assignment_expression "uVar19 = pOVar26->type_" identifier = (field_expression "pOVar26->type_" identifier -> field_identifier)) ;) (expression_statement "piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[3] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[3]" identifier [ number_literal ]) = (binary_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10)" ( (binary_expression "(uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10" (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar12 >> 0x18) << 0x10" (parenthesized_expression "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff)" ( (binary_expression "(uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff" (binary_expression "(uVar12 & 0xff) << 8" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar12 >> 8 & 0xff" (binary_expression "uVar12 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[2]" identifier [ number_literal ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar12 = *(uint *)&pOVar26->vaddr_;" (assignment_expression "uVar12 = *(uint *)&pOVar26->vaddr_" identifier = (pointer_expression "*(uint *)&pOVar26->vaddr_" * (cast_expression "(uint *)&pOVar26->vaddr_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->vaddr_" & (field_expression "pOVar26->vaddr_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar26->vaddr_;" (assignment_expression "uVar7 = (uint)pOVar26->vaddr_" identifier = (cast_expression "(uint)pOVar26->vaddr_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->vaddr_" identifier -> field_identifier))) ;) (expression_statement "*piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar27" * identifier) = (binary_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10)" ( (binary_expression "(uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10" (binary_expression "(uVar19 >> 0x10) << 0x18" (parenthesized_expression "(uVar19 >> 0x10)" ( (binary_expression "uVar19 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar19 >> 0x18) << 0x10" (parenthesized_expression "(uVar19 >> 0x18)" ( (binary_expression "uVar19 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff)" ( (binary_expression "(uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff" (binary_expression "(uVar19 & 0xff) << 8" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar19 >> 8 & 0xff" (binary_expression "uVar19 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar19 = pOVar26->flags_;" (assignment_expression "uVar19 = pOVar26->flags_" identifier = (field_expression "pOVar26->flags_" identifier -> field_identifier)) ;) (expression_statement "piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[5] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[5]" identifier [ number_literal ]) = (binary_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10)" ( (binary_expression "(uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10" (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar12 >> 0x18) << 0x10" (parenthesized_expression "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff)" ( (binary_expression "(uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff" (binary_expression "(uVar12 & 0xff) << 8" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar12 >> 8 & 0xff" (binary_expression "uVar12 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[4]" identifier [ number_literal ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar12 = *(uint *)&pOVar26->paddr_;" (assignment_expression "uVar12 = *(uint *)&pOVar26->paddr_" identifier = (pointer_expression "*(uint *)&pOVar26->paddr_" * (cast_expression "(uint *)&pOVar26->paddr_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->paddr_" & (field_expression "pOVar26->paddr_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar26->paddr_;" (assignment_expression "uVar7 = (uint)pOVar26->paddr_" identifier = (cast_expression "(uint)pOVar26->paddr_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->paddr_" identifier -> field_identifier))) ;) (expression_statement "piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[7] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[7]" identifier [ number_literal ]) = (binary_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10)" ( (binary_expression "(uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10" (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar12 >> 0x18) << 0x10" (parenthesized_expression "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff)" ( (binary_expression "(uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff" (binary_expression "(uVar12 & 0xff) << 8" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar12 >> 8 & 0xff" (binary_expression "uVar12 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[6]" identifier [ number_literal ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar12 = *(uint *)&pOVar26->filesz_;" (assignment_expression "uVar12 = *(uint *)&pOVar26->filesz_" identifier = (pointer_expression "*(uint *)&pOVar26->filesz_" * (cast_expression "(uint *)&pOVar26->filesz_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->filesz_" & (field_expression "pOVar26->filesz_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar26->filesz_;" (assignment_expression "uVar7 = (uint)pOVar26->filesz_" identifier = (cast_expression "(uint)pOVar26->filesz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->filesz_" identifier -> field_identifier))) ;) (expression_statement "piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[9] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[9]" identifier [ number_literal ]) = (binary_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10)" ( (binary_expression "(uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10" (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar12 >> 0x18) << 0x10" (parenthesized_expression "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff)" ( (binary_expression "(uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff" (binary_expression "(uVar12 & 0xff) << 8" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar12 >> 8 & 0xff" (binary_expression "uVar12 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[8]" identifier [ number_literal ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar12 = *(uint *)&pOVar26->memsz_;" (assignment_expression "uVar12 = *(uint *)&pOVar26->memsz_" identifier = (pointer_expression "*(uint *)&pOVar26->memsz_" * (cast_expression "(uint *)&pOVar26->memsz_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->memsz_" & (field_expression "pOVar26->memsz_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar26->memsz_;" (assignment_expression "uVar7 = (uint)pOVar26->memsz_" identifier = (cast_expression "(uint)pOVar26->memsz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->memsz_" identifier -> field_identifier))) ;) (expression_statement "piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[1] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[1]" identifier [ number_literal ]) = (binary_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10)" ( (binary_expression "(uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10" (binary_expression "(uVar19 >> 0x10) << 0x18" (parenthesized_expression "(uVar19 >> 0x10)" ( (binary_expression "uVar19 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar19 >> 0x18) << 0x10" (parenthesized_expression "(uVar19 >> 0x18)" ( (binary_expression "uVar19 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff)" ( (binary_expression "(uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff" (binary_expression "(uVar19 & 0xff) << 8" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar19 >> 8 & 0xff" (binary_expression "uVar19 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[0xb] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[0xb]" identifier [ number_literal ]) = (binary_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10)" ( (binary_expression "(uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10" (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar12 >> 0x18) << 0x10" (parenthesized_expression "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff)" ( (binary_expression "(uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff" (binary_expression "(uVar12 & 0xff) << 8" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar12 >> 8 & 0xff" (binary_expression "uVar12 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[10]" identifier [ number_literal ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (ERROR "uVar42 = Output_segment::" (assignment_expression "uVar42 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar26);" (call_expression "maximum_alignment(pOVar26)" identifier (argument_list "(pOVar26)" ( identifier ))) ;) (expression_statement "uVar7 = (uint)(uVar42 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar42 >> 0x20)" identifier = (call_expression "(uint)(uVar42 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar42 >> 0x20)" ( (binary_expression "uVar42 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar12 = (uint)uVar42;" (assignment_expression "uVar12 = (uint)uVar42" identifier = (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar19 = *(uint *)&pOVar26->min_p_align_;" (assignment_expression "uVar19 = *(uint *)&pOVar26->min_p_align_" identifier = (pointer_expression "*(uint *)&pOVar26->min_p_align_" * (cast_expression "(uint *)&pOVar26->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->min_p_align_" & (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))))) ;) (expression_statement "uVar22 = (uint)pOVar26->min_p_align_;" (assignment_expression "uVar22 = (uint)pOVar26->min_p_align_" identifier = (cast_expression "(uint)pOVar26->min_p_align_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))) ;) (expression_statement "pcVar43 = pcVar41;" (assignment_expression "pcVar43 = pcVar41" identifier = identifier) ;) (if_statement "if ((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))) break;" if (parenthesized_expression "((uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22))))" ( (binary_expression "(uVar7 <= uVar19) && ((uVar7 != uVar19 || (uVar12 <= uVar22)))" (parenthesized_expression "(uVar7 <= uVar19)" ( (binary_expression "uVar7 <= uVar19" identifier <= identifier) )) && (parenthesized_expression "((uVar7 != uVar19 || (uVar12 <= uVar22)))" ( (parenthesized_expression "(uVar7 != uVar19 || (uVar12 <= uVar22))" ( (binary_expression "uVar7 != uVar19 || (uVar12 <= uVar22)" (binary_expression "uVar7 != uVar19" identifier != identifier) || (parenthesized_expression "(uVar12 <= uVar22)" ( (binary_expression "uVar12 <= uVar22" identifier <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);" (assignment_expression "puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4)" identifier = (pointer_expression "*(undefined1 **)(*(int *)(iVar45 + 0x24) + 4)" * (cast_expression "(undefined1 **)(*(int *)(iVar45 + 0x24) + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar45 + 0x24) + 4)" ( (binary_expression "*(int *)(iVar45 + 0x24) + 4" (pointer_expression "*(int *)(iVar45 + 0x24)" * (cast_expression "(int *)(iVar45 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x24)" ( (binary_expression "iVar45 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[0xc] = (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[0xc]" identifier [ number_literal ]) = (binary_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10)" ( (binary_expression "(uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10" (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar12 >> 0x18) << 0x10" (parenthesized_expression "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff)" ( (binary_expression "(int)(uVar42 & 0xff000000ff) << 8 | uVar12 >> 8 & 0xff" (binary_expression "(int)(uVar42 & 0xff000000ff) << 8" (cast_expression "(int)(uVar42 & 0xff000000ff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar42 & 0xff000000ff)" ( (binary_expression "uVar42 & 0xff000000ff" identifier & number_literal) ))) << number_literal) | (binary_expression "uVar12 >> 8 & 0xff" (binary_expression "uVar12 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000;" (assignment_expression "piVar27[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000" (subscript_expression "piVar27[0xd]" identifier [ number_literal ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                             0x10000" (parenthesized_expression "((int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(int)((uVar42 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(int)((uVar42 & 0xff000000ff) >> 0x20) << 8" (cast_expression "(int)((uVar42 & 0xff000000ff) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uVar42 & 0xff000000ff) >> 0x20)" ( (binary_expression "(uVar42 & 0xff000000ff) >> 0x20" (parenthesized_expression "(uVar42 & 0xff000000ff)" ( (binary_expression "uVar42 & 0xff000000ff" identifier & number_literal) )) >> number_literal) ))) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar16 = piVar27 + 0xe;" (assignment_expression "piVar16 = piVar27 + 0xe" identifier = (binary_expression "piVar27 + 0xe" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)&pOVar14->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar14->o_" identifier = (cast_expression "(Output_file *)&pOVar14->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier)))) ;) (if_statement "if ((int *)puVar13 == &pOVar14->o_) goto LAB_001a0d60;" if (parenthesized_expression "((int *)puVar13 == &pOVar14->o_)" ( (binary_expression "(int *)puVar13 == &pOVar14->o_" (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) == (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier))) )) (goto_statement "goto LAB_001a0d60;" goto statement_identifier ;)) })) (expression_statement "puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4);" (assignment_expression "puVar13 = *(undefined1 **)(*(int *)(iVar45 + 0x24) + 4)" identifier = (pointer_expression "*(undefined1 **)(*(int *)(iVar45 + 0x24) + 4)" * (cast_expression "(undefined1 **)(*(int *)(iVar45 + 0x24) + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar45 + 0x24) + 4)" ( (binary_expression "*(int *)(iVar45 + 0x24) + 4" (pointer_expression "*(int *)(iVar45 + 0x24)" * (cast_expression "(int *)(iVar45 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x24)" ( (binary_expression "iVar45 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[0xc] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[0xc]" identifier [ number_literal ]) = (binary_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10)" ( (binary_expression "(uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10" (binary_expression "(uVar22 >> 0x10) << 0x18" (parenthesized_expression "(uVar22 >> 0x10)" ( (binary_expression "uVar22 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar22 >> 0x18) << 0x10" (parenthesized_expression "(uVar22 >> 0x18)" ( (binary_expression "uVar22 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff)" ( (binary_expression "(uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar22 >> 8 & 0xff" (binary_expression "uVar22 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar27[0xd] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar27[0xd]" identifier [ number_literal ]) = (binary_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10)" ( (binary_expression "(uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10" (binary_expression "(uVar19 >> 0x10) << 0x18" (parenthesized_expression "(uVar19 >> 0x10)" ( (binary_expression "uVar19 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar19 >> 0x18) << 0x10" (parenthesized_expression "(uVar19 >> 0x18)" ( (binary_expression "uVar19 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff)" ( (binary_expression "(uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff" (binary_expression "(uVar19 & 0xff) << 8" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar19 >> 8 & 0xff" (binary_expression "uVar19 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar16 = piVar27 + 0xe;" (assignment_expression "piVar16 = piVar27 + 0xe" identifier = (binary_expression "piVar27 + 0xe" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)&pOVar14->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar14->o_" identifier = (cast_expression "(Output_file *)&pOVar14->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "((int *)puVar13 != &pOVar14->o_)" ( (binary_expression "(int *)puVar13 != &pOVar14->o_" (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier))) )) ;) (labeled_statement "LAB_001a0d60:\n          pOVar21 = (Output_file *)&pOVar14->o_;" statement_identifier : (expression_statement "pOVar21 = (Output_file *)&pOVar14->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar14->o_" identifier = (cast_expression "(Output_file *)&pOVar14->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar14->o_" & (field_expression "pOVar14->o_" identifier -> field_identifier)))) ;)) (expression_statement "puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34));" (assignment_expression "puVar31 = (uchar *)((int)piVar27 + (0x38 - (int)piVar34))" identifier = (cast_expression "(uchar *)((int)piVar27 + (0x38 - (int)piVar34))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar27 + (0x38 - (int)piVar34))" ( (binary_expression "(int)piVar27 + (0x38 - (int)piVar34)" (cast_expression "(int)piVar27" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x38 - (int)piVar34)" ( (binary_expression "0x38 - (int)piVar34" number_literal - (cast_expression "(int)piVar34" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "uVar17 = 0x1ab;" (assignment_expression "uVar17 = 0x1ab" identifier = number_literal) ;) (if_statement "if (-1 < (int)puVar31) {\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }" if (parenthesized_expression "(-1 < (int)puVar31)" ( (binary_expression "-1 < (int)puVar31" number_literal < (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar5 = *(int *)(pcVar41 + -0x7e1c);\n            if (puVar31 != puVar32) goto LAB_001a0dd0;\n            pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);\n            if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;\n            return;\n          }" { (expression_statement "iVar5 = *(int *)(pcVar41 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(pcVar41 + -0x7e1c)" identifier = (pointer_expression "*(int *)(pcVar41 + -0x7e1c)" * (cast_expression "(int *)(pcVar41 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar41 + -0x7e1c)" ( (binary_expression "pcVar41 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (puVar31 != puVar32) goto LAB_001a0dd0;" if (parenthesized_expression "(puVar31 != puVar32)" ( (binary_expression "puVar31 != puVar32" identifier != identifier) )) (goto_statement "goto LAB_001a0dd0;" goto statement_identifier ;)) (expression_statement "pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c);" (assignment_expression "pOVar6 = *(Output_file **)(pcVar41 + -0x7e1c)" identifier = (pointer_expression "*(Output_file **)(pcVar41 + -0x7e1c)" * (cast_expression "(Output_file **)(pcVar41 + -0x7e1c)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar41 + -0x7e1c)" ( (binary_expression "pcVar41 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar45 + 0x20) << 2) goto LAB_001a0de4;" if (parenthesized_expression "(-1 < *(int *)(iVar45 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar45 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar45 + 0x20) << 2" (pointer_expression "*(int *)(iVar45 + 0x20)" * (cast_expression "(int *)(iVar45 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x20)" ( (binary_expression "iVar45 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_001a0de4;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (while_statement "while( true ) {\n          iVar5 = *(int *)(pcVar41 + -0x7e1c);\nLAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);\n          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0de4:\n          sVar18 = 0xe3;\n          pOVar6 = pOVar6 + 0x501;\n          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);\n          (**(code **)(pcVar41 + -0x7e0c))();\n          iVar5 = extraout_v1_01;\nLAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);\nLAB_001a0e1c:\n          uVar17 = 0x19e;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar5 = *(int *)(pcVar41 + -0x7e1c);\nLAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);\n          (**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0de4:\n          sVar18 = 0xe3;\n          pOVar6 = pOVar6 + 0x501;\n          pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);\n          (**(code **)(pcVar41 + -0x7e0c))();\n          iVar5 = extraout_v1_01;\nLAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);\nLAB_001a0e1c:\n          uVar17 = 0x19e;\n        }" { (expression_statement "iVar5 = *(int *)(pcVar41 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(pcVar41 + -0x7e1c)" identifier = (pointer_expression "*(int *)(pcVar41 + -0x7e1c)" * (cast_expression "(int *)(pcVar41 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar41 + -0x7e1c)" ( (binary_expression "pcVar41 + -0x7e1c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001a0dd0:\n          pOVar6 = (Output_file *)(iVar5 + 0x7738);" statement_identifier : (expression_statement "pOVar6 = (Output_file *)(iVar5 + 0x7738);" (assignment_expression "pOVar6 = (Output_file *)(iVar5 + 0x7738)" identifier = (cast_expression "(Output_file *)(iVar5 + 0x7738)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x7738)" ( (binary_expression "iVar5 + 0x7738" identifier + number_literal) )))) ;)) (expression_statement "(**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17);" (call_expression "(**(code **)(pcVar41 + -0x7e0c))(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17)" (parenthesized_expression "(**(code **)(pcVar41 + -0x7e0c))" ( (pointer_expression "**(code **)(pcVar41 + -0x7e0c)" * (pointer_expression "*(code **)(pcVar41 + -0x7e0c)" * (cast_expression "(code **)(pcVar41 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar41 + -0x7e0c)" ( (binary_expression "pcVar41 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar41 + -0x7e1c) + 0x59f0,uVar17)" ( (binary_expression "*(int *)(pcVar41 + -0x7e1c) + 0x59f0" (pointer_expression "*(int *)(pcVar41 + -0x7e1c)" * (cast_expression "(int *)(pcVar41 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar41 + -0x7e1c)" ( (binary_expression "pcVar41 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_001a0de4:\n          sVar18 = 0xe3;" statement_identifier : (expression_statement "sVar18 = 0xe3;" (assignment_expression "sVar18 = 0xe3" identifier = number_literal) ;)) (expression_statement "pOVar6 = pOVar6 + 0x501;" (assignment_expression "pOVar6 = pOVar6 + 0x501" identifier = (binary_expression "pOVar6 + 0x501" identifier + number_literal)) ;) (expression_statement "pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0);" (assignment_expression "pOVar14 = (Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar41 + -0x7e1c) + -0x4fe0)" ( (binary_expression "*(int *)(pcVar41 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(pcVar41 + -0x7e1c)" * (cast_expression "(int *)(pcVar41 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar41 + -0x7e1c)" ( (binary_expression "pcVar41 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar41 + -0x7e0c))();" (call_expression "(**(code **)(pcVar41 + -0x7e0c))()" (parenthesized_expression "(**(code **)(pcVar41 + -0x7e0c))" ( (pointer_expression "**(code **)(pcVar41 + -0x7e0c)" * (pointer_expression "*(code **)(pcVar41 + -0x7e0c)" * (cast_expression "(code **)(pcVar41 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar41 + -0x7e0c)" ( (binary_expression "pcVar41 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = extraout_v1_01;" (assignment_expression "iVar5 = extraout_v1_01" identifier = identifier) ;) (labeled_statement "LAB_001a0dfc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);" (assignment_expression "in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0)" identifier = (cast_expression "(uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(uchar **)(sVar18 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uchar **)(sVar18 + 0xc) < in_t0)" ( (binary_expression "*(uchar **)(sVar18 + 0xc) < in_t0" (pointer_expression "*(uchar **)(sVar18 + 0xc)" * (cast_expression "(uchar **)(sVar18 + 0xc)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0xc)" ( (binary_expression "sVar18 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (uchar *)0x0) break;" if (parenthesized_expression "(in_t0 == (uchar *)0x0)" ( (binary_expression "in_t0 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001a0e10:\n          Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);" statement_identifier : (labeled_statement "Output_file::get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6);" (call_expression "get_output_view(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6)" identifier (argument_list "(pOVar14,CONCAT44(pcVar43,in_stack_ffffff6c),sVar18,pOVar6)" ( identifier , (call_expression "CONCAT44(pcVar43,in_stack_ffffff6c)" identifier (argument_list "(pcVar43,in_stack_ffffff6c)" ( identifier , identifier ))) , identifier , identifier ))) ;))) (labeled_statement "LAB_001a0e1c:\n          uVar17 = 0x19e;" statement_identifier : (expression_statement "uVar17 = 0x19e;" (assignment_expression "uVar17 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2);" (assignment_expression "puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2)" identifier = (cast_expression "(uchar *)((int)puVar10 - (int)puVar37 >> 2)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 - (int)puVar37 >> 2)" ( (binary_expression "(int)puVar10 - (int)puVar37 >> 2" (binary_expression "(int)puVar10 - (int)puVar37" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) ;) (expression_statement "puVar44 = puVar40;" (assignment_expression "puVar44 = puVar40" identifier = identifier) ;) (if_statement "if (*(int *)(puVar15 + 0x10) != 0) goto LAB_001a0b28;" if (parenthesized_expression "(*(int *)(puVar15 + 0x10) != 0)" ( (binary_expression "*(int *)(puVar15 + 0x10) != 0" (pointer_expression "*(int *)(puVar15 + 0x10)" * (cast_expression "(int *)(puVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x10)" ( (binary_expression "puVar15 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001a0b28;" goto statement_identifier ;)) (expression_statement "puVar32 = (uchar *)((int)puVar32 * 0x20);" (assignment_expression "puVar32 = (uchar *)((int)puVar32 * 0x20)" identifier = (cast_expression "(uchar *)((int)puVar32 * 0x20)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 * 0x20)" ( (binary_expression "(int)puVar32 * 0x20" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (*(uchar **)(puVar15 + 0x14) != puVar32) goto LAB_001a0b28;" if (parenthesized_expression "(*(uchar **)(puVar15 + 0x14) != puVar32)" ( (binary_expression "*(uchar **)(puVar15 + 0x14) != puVar32" (pointer_expression "*(uchar **)(puVar15 + 0x14)" * (cast_expression "(uchar **)(puVar15 + 0x14)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x14)" ( (binary_expression "puVar15 + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_001a0b28;" goto statement_identifier ;)) (expression_statement "pOVar21 = *(Output_file **)(puVar23 + 0x291a9c);" (assignment_expression "pOVar21 = *(Output_file **)(puVar23 + 0x291a9c)" identifier = (pointer_expression "*(Output_file **)(puVar23 + 0x291a9c)" * (cast_expression "(Output_file **)(puVar23 + 0x291a9c)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x291a9c)" ( (binary_expression "puVar23 + 0x291a9c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;" if (parenthesized_expression "(-1 < *(int *)(puVar15 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar15 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar15 + 0x20) << 2" (pointer_expression "*(int *)(puVar15 + 0x20)" * (cast_expression "(int *)(puVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_001a0af0;" goto statement_identifier ;)) (expression_statement "pOVar14 = *(Output_file **)(puVar15 + 0x1c);" (assignment_expression "pOVar14 = *(Output_file **)(puVar15 + 0x1c)" identifier = (pointer_expression "*(Output_file **)(puVar15 + 0x1c)" * (cast_expression "(Output_file **)(puVar15 + 0x1c)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x1c)" ( (binary_expression "puVar15 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar15 + 0x18) < 0) goto LAB_001a0b1c;" if (parenthesized_expression "(*(int *)(puVar15 + 0x18) < 0)" ( (binary_expression "*(int *)(puVar15 + 0x18) < 0" (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_001a0b1c;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar32 + (int)pOVar14;" (assignment_expression "in_t0 = puVar32 + (int)pOVar14" identifier = (binary_expression "puVar32 + (int)pOVar14" identifier + (cast_expression "(int)pOVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pOVar21 = *(Output_file **)(sVar18 + 8);" (assignment_expression "pOVar21 = *(Output_file **)(sVar18 + 8)" identifier = (pointer_expression "*(Output_file **)(sVar18 + 8)" * (cast_expression "(Output_file **)(sVar18 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 8)" ( (binary_expression "sVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(puVar15 + 0x18));" (assignment_expression "pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + *(int *)(puVar15 + 0x18))" identifier = (cast_expression "(Output_file *)((uint)(in_t0 < puVar32) + *(int *)(puVar15 + 0x18))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(in_t0 < puVar32) + *(int *)(puVar15 + 0x18))" ( (binary_expression "(uint)(in_t0 < puVar32) + *(int *)(puVar15 + 0x18)" (call_expression "(uint)(in_t0 < puVar32)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar32)" ( (binary_expression "in_t0 < puVar32" identifier < identifier) ))) + (pointer_expression "*(int *)(puVar15 + 0x18)" * (cast_expression "(int *)(puVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x18)" ( (binary_expression "puVar15 + 0x18" identifier + number_literal) ))))) )))) ;) (if_statement "if ((int)pOVar21 < (int)pOVar6) goto LAB_001a0b1c;" if (parenthesized_expression "((int)pOVar21 < (int)pOVar6)" ( (binary_expression "(int)pOVar21 < (int)pOVar6" (cast_expression "(int)pOVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pOVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001a0b1c;" goto statement_identifier ;)) (if_statement "if (pOVar21 == pOVar6) goto LAB_001a0b08;" if (parenthesized_expression "(pOVar21 == pOVar6)" ( (binary_expression "pOVar21 == pOVar6" identifier == identifier) )) (goto_statement "goto LAB_001a0b08;" goto statement_identifier ;)) (do_statement "do {\n      puVar36 = (undefined4 *)((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10));\n      puVar11 = puVar36;\n      if (puVar37 == puVar10) {\n        if (puVar32 == (uchar *)0x0) {\n          return;\n        }\n      }\n      else {\n        do {\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);\nLAB_001a0a70:\n        puVar37 = puVar33 + 1;\n        puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));\n        if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }\n      }\n      uVar17 = 0x1ab;\n      while( true ) {\n        pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748);\n        (**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0af0:\n        sVar18 = 0xe3;\n        pOVar21 = pOVar21 + 0x501;\n        pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0);\n        (**(code **)(puVar40 + -0x7e0c))();\n        puVar10 = extraout_v1_00;\nLAB_001a0b08:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_001a0b1c:\n        Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);\nLAB_001a0b28:\n        uVar17 = 0x19e;\n      }\n    } while( true );" do (compound_statement "{\n      puVar36 = (undefined4 *)((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10));\n      puVar11 = puVar36;\n      if (puVar37 == puVar10) {\n        if (puVar32 == (uchar *)0x0) {\n          return;\n        }\n      }\n      else {\n        do {\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);\nLAB_001a0a70:\n        puVar37 = puVar33 + 1;\n        puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));\n        if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }\n      }\n      uVar17 = 0x1ab;\n      while( true ) {\n        pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748);\n        (**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0af0:\n        sVar18 = 0xe3;\n        pOVar21 = pOVar21 + 0x501;\n        pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0);\n        (**(code **)(puVar40 + -0x7e0c))();\n        puVar10 = extraout_v1_00;\nLAB_001a0b08:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_001a0b1c:\n        Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);\nLAB_001a0b28:\n        uVar17 = 0x19e;\n      }\n    }" { (expression_statement "puVar36 = (undefined4 *)((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10));" (assignment_expression "puVar36 = (undefined4 *)((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10))" identifier = (cast_expression "(undefined4 *)((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar14->name_ + *(int *)(sVar18 + 0x10))" ( (binary_expression "(int)&pOVar14->name_ + *(int *)(sVar18 + 0x10)" (cast_expression "(int)&pOVar14->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar14->name_" & (field_expression "pOVar14->name_" identifier -> field_identifier))) + (pointer_expression "*(int *)(sVar18 + 0x10)" * (cast_expression "(int *)(sVar18 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 + 0x10)" ( (binary_expression "sVar18 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "puVar11 = puVar36;" (assignment_expression "puVar11 = puVar36" identifier = identifier) ;) (if_statement "if (puVar37 == puVar10) {\n        if (puVar32 == (uchar *)0x0) {\n          return;\n        }\n      }\n      else {\n        do {\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);\nLAB_001a0a70:\n        puVar37 = puVar33 + 1;\n        puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));\n        if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }\n      }" if (parenthesized_expression "(puVar37 == puVar10)" ( (binary_expression "puVar37 == puVar10" identifier == identifier) )) (compound_statement "{\n        if (puVar32 == (uchar *)0x0) {\n          return;\n        }\n      }" { (if_statement "if (puVar32 == (uchar *)0x0) {\n          return;\n        }" if (parenthesized_expression "(puVar32 == (uchar *)0x0)" ( (binary_expression "puVar32 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n        do {\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);\nLAB_001a0a70:\n        puVar37 = puVar33 + 1;\n        puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));\n        if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }\n      }" else (compound_statement "{\n        do {\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);\nLAB_001a0a70:\n        puVar37 = puVar33 + 1;\n        puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));\n        if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }\n      }" { (do_statement "do {\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        } while (*(undefined4 **)(iVar45 + 4) != puVar33 + 1);" do (compound_statement "{\n          while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }\n          iVar45 = *(int *)(puVar15 + 0x24);\n          puVar10[7] = uVar12;\n          puVar11 = puVar10 + 8;\n          puVar37 = puVar33 + 1;\n        }" { (while_statement "while( true ) {\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            puVar40 = puVar44;\n            puVar33 = puVar37;\n            puVar10 = puVar11;\n            pOVar26 = (Output_segment *)*puVar33;\n            uVar42 = pOVar26->paddr_;\n            uVar1 = pOVar26->memsz_;\n            in_t0 = (uchar *)pOVar26->type_;\n            oVar2 = pOVar26->offset_;\n            oVar3 = pOVar26->filesz_;\n            puVar10[2] = (int)pOVar26->vaddr_;\n            puVar10[3] = (int)uVar42;\n            *puVar10 = in_t0;\n            puVar10[1] = (int)oVar2;\n            puVar10[4] = (int)oVar3;\n            puVar10[5] = (int)uVar1;\n            puVar10[6] = pOVar26->flags_;\n            uVar42 = Output_segment::maximum_alignment(pOVar26);\n            uVar7 = (uint)(uVar42 >> 0x20);\n            uVar12 = (uint)pOVar26->min_p_align_;\n            puVar44 = puVar40;\n            if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;\n            iVar45 = *(int *)(puVar15 + 0x24);\n            puVar10[7] = (uint)uVar42;\n            puVar11 = puVar10 + 8;\n            puVar37 = puVar33 + 1;\n            if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;\n          }" { (expression_statement "puVar40 = puVar44;" (assignment_expression "puVar40 = puVar44" identifier = identifier) ;) (expression_statement "puVar33 = puVar37;" (assignment_expression "puVar33 = puVar37" identifier = identifier) ;) (expression_statement "puVar10 = puVar11;" (assignment_expression "puVar10 = puVar11" identifier = identifier) ;) (expression_statement "pOVar26 = (Output_segment *)*puVar33;" (assignment_expression "pOVar26 = (Output_segment *)*puVar33" identifier = (cast_expression "(Output_segment *)*puVar33" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ;) (expression_statement "uVar42 = pOVar26->paddr_;" (assignment_expression "uVar42 = pOVar26->paddr_" identifier = (field_expression "pOVar26->paddr_" identifier -> field_identifier)) ;) (expression_statement "uVar1 = pOVar26->memsz_;" (assignment_expression "uVar1 = pOVar26->memsz_" identifier = (field_expression "pOVar26->memsz_" identifier -> field_identifier)) ;) (expression_statement "in_t0 = (uchar *)pOVar26->type_;" (assignment_expression "in_t0 = (uchar *)pOVar26->type_" identifier = (cast_expression "(uchar *)pOVar26->type_" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar26->type_" identifier -> field_identifier))) ;) (expression_statement "oVar2 = pOVar26->offset_;" (assignment_expression "oVar2 = pOVar26->offset_" identifier = (field_expression "pOVar26->offset_" identifier -> field_identifier)) ;) (expression_statement "oVar3 = pOVar26->filesz_;" (assignment_expression "oVar3 = pOVar26->filesz_" identifier = (field_expression "pOVar26->filesz_" identifier -> field_identifier)) ;) (expression_statement "puVar10[2] = (int)pOVar26->vaddr_;" (assignment_expression "puVar10[2] = (int)pOVar26->vaddr_" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = (cast_expression "(int)pOVar26->vaddr_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar26->vaddr_" identifier -> field_identifier))) ;) (expression_statement "puVar10[3] = (int)uVar42;" (assignment_expression "puVar10[3] = (int)uVar42" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = (cast_expression "(int)uVar42" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar10 = in_t0;" (assignment_expression "*puVar10 = in_t0" (pointer_expression "*puVar10" * identifier) = identifier) ;) (expression_statement "puVar10[1] = (int)oVar2;" (assignment_expression "puVar10[1] = (int)oVar2" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = (cast_expression "(int)oVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar10[4] = (int)oVar3;" (assignment_expression "puVar10[4] = (int)oVar3" (subscript_expression "puVar10[4]" identifier [ number_literal ]) = (cast_expression "(int)oVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar10[5] = (int)uVar1;" (assignment_expression "puVar10[5] = (int)uVar1" (subscript_expression "puVar10[5]" identifier [ number_literal ]) = (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar10[6] = pOVar26->flags_;" (assignment_expression "puVar10[6] = pOVar26->flags_" (subscript_expression "puVar10[6]" identifier [ number_literal ]) = (field_expression "pOVar26->flags_" identifier -> field_identifier)) ;) (ERROR "uVar42 = Output_segment::" (assignment_expression "uVar42 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar26);" (call_expression "maximum_alignment(pOVar26)" identifier (argument_list "(pOVar26)" ( identifier ))) ;) (expression_statement "uVar7 = (uint)(uVar42 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar42 >> 0x20)" identifier = (call_expression "(uint)(uVar42 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar42 >> 0x20)" ( (binary_expression "uVar42 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar12 = (uint)pOVar26->min_p_align_;" (assignment_expression "uVar12 = (uint)pOVar26->min_p_align_" identifier = (cast_expression "(uint)pOVar26->min_p_align_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))) ;) (expression_statement "puVar44 = puVar40;" (assignment_expression "puVar44 = puVar40" identifier = identifier) ;) (if_statement "if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))) break;" if (parenthesized_expression "((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12))))" ( (binary_expression "(uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n               ((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))" (parenthesized_expression "(uVar7 <= *(uint *)&pOVar26->min_p_align_)" ( (binary_expression "uVar7 <= *(uint *)&pOVar26->min_p_align_" identifier <= (pointer_expression "*(uint *)&pOVar26->min_p_align_" * (cast_expression "(uint *)&pOVar26->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->min_p_align_" & (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))))) )) && (parenthesized_expression "((uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)))" ( (parenthesized_expression "(uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12))" ( (binary_expression "uVar7 != *(uint *)&pOVar26->min_p_align_ || ((uint)uVar42 <= uVar12)" (binary_expression "uVar7 != *(uint *)&pOVar26->min_p_align_" identifier != (pointer_expression "*(uint *)&pOVar26->min_p_align_" * (cast_expression "(uint *)&pOVar26->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->min_p_align_" & (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))))) || (parenthesized_expression "((uint)uVar42 <= uVar12)" ( (binary_expression "(uint)uVar42 <= uVar12" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar45 = *(int *)(puVar15 + 0x24);" (assignment_expression "iVar45 = *(int *)(puVar15 + 0x24)" identifier = (pointer_expression "*(int *)(puVar15 + 0x24)" * (cast_expression "(int *)(puVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "puVar10[7] = (uint)uVar42;" (assignment_expression "puVar10[7] = (uint)uVar42" (subscript_expression "puVar10[7]" identifier [ number_literal ]) = (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar11 = puVar10 + 8;" (assignment_expression "puVar11 = puVar10 + 8" identifier = (binary_expression "puVar10 + 8" identifier + number_literal)) ;) (expression_statement "puVar37 = puVar33 + 1;" (assignment_expression "puVar37 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (if_statement "if (*(undefined4 **)(iVar45 + 4) == puVar33 + 1) goto LAB_001a0a70;" if (parenthesized_expression "(*(undefined4 **)(iVar45 + 4) == puVar33 + 1)" ( (binary_expression "*(undefined4 **)(iVar45 + 4) == puVar33 + 1" (pointer_expression "*(undefined4 **)(iVar45 + 4)" * (cast_expression "(undefined4 **)(iVar45 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar45 + 4)" ( (binary_expression "iVar45 + 4" identifier + number_literal) )))) == (binary_expression "puVar33 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_001a0a70;" goto statement_identifier ;)) })) (expression_statement "iVar45 = *(int *)(puVar15 + 0x24);" (assignment_expression "iVar45 = *(int *)(puVar15 + 0x24)" identifier = (pointer_expression "*(int *)(puVar15 + 0x24)" * (cast_expression "(int *)(puVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x24)" ( (binary_expression "puVar15 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "puVar10[7] = uVar12;" (assignment_expression "puVar10[7] = uVar12" (subscript_expression "puVar10[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11 = puVar10 + 8;" (assignment_expression "puVar11 = puVar10 + 8" identifier = (binary_expression "puVar10 + 8" identifier + number_literal)) ;) (expression_statement "puVar37 = puVar33 + 1;" (assignment_expression "puVar37 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(undefined4 **)(iVar45 + 4) != puVar33 + 1)" ( (binary_expression "*(undefined4 **)(iVar45 + 4) != puVar33 + 1" (pointer_expression "*(undefined4 **)(iVar45 + 4)" * (cast_expression "(undefined4 **)(iVar45 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar45 + 4)" ( (binary_expression "iVar45 + 4" identifier + number_literal) )))) != (binary_expression "puVar33 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_001a0a70:\n        puVar37 = puVar33 + 1;" statement_identifier : (expression_statement "puVar37 = puVar33 + 1;" (assignment_expression "puVar37 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;)) (expression_statement "puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36));" (assignment_expression "puVar31 = (uchar *)((int)puVar10 + (0x20 - (int)puVar36))" identifier = (cast_expression "(uchar *)((int)puVar10 + (0x20 - (int)puVar36))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + (0x20 - (int)puVar36))" ( (binary_expression "(int)puVar10 + (0x20 - (int)puVar36)" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x20 - (int)puVar36)" ( (binary_expression "0x20 - (int)puVar36" number_literal - (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if ((-1 < (int)puVar31) && (puVar31 == puVar32)) {\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }" if (parenthesized_expression "((-1 < (int)puVar31) && (puVar31 == puVar32))" ( (binary_expression "(-1 < (int)puVar31) && (puVar31 == puVar32)" (parenthesized_expression "(-1 < (int)puVar31)" ( (binary_expression "-1 < (int)puVar31" number_literal < (cast_expression "(int)puVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(puVar31 == puVar32)" ( (binary_expression "puVar31 == puVar32" identifier == identifier) ))) )) (compound_statement "{\n          pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);\n          if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;\n          return;\n        }" { (expression_statement "pOVar21 = *(Output_file **)(puVar40 + -0x7e1c);" (assignment_expression "pOVar21 = *(Output_file **)(puVar40 + -0x7e1c)" identifier = (pointer_expression "*(Output_file **)(puVar40 + -0x7e1c)" * (cast_expression "(Output_file **)(puVar40 + -0x7e1c)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar40 + -0x7e1c)" ( (binary_expression "puVar40 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(puVar15 + 0x20) << 2) goto LAB_001a0af0;" if (parenthesized_expression "(-1 < *(int *)(puVar15 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar15 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar15 + 0x20) << 2" (pointer_expression "*(int *)(puVar15 + 0x20)" * (cast_expression "(int *)(puVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x20)" ( (binary_expression "puVar15 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_001a0af0;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (expression_statement "uVar17 = 0x1ab;" (assignment_expression "uVar17 = 0x1ab" identifier = number_literal) ;) (while_statement "while( true ) {\n        pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748);\n        (**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0af0:\n        sVar18 = 0xe3;\n        pOVar21 = pOVar21 + 0x501;\n        pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0);\n        (**(code **)(puVar40 + -0x7e0c))();\n        puVar10 = extraout_v1_00;\nLAB_001a0b08:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_001a0b1c:\n        Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);\nLAB_001a0b28:\n        uVar17 = 0x19e;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748);\n        (**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a0af0:\n        sVar18 = 0xe3;\n        pOVar21 = pOVar21 + 0x501;\n        pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0);\n        (**(code **)(puVar40 + -0x7e0c))();\n        puVar10 = extraout_v1_00;\nLAB_001a0b08:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_001a0b1c:\n        Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);\nLAB_001a0b28:\n        uVar17 = 0x19e;\n      }" { (expression_statement "pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748);" (assignment_expression "pOVar21 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748)" identifier = (cast_expression "(Output_file *)(*(int *)(puVar40 + -0x7e1c) + 0x7748)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar40 + -0x7e1c) + 0x7748)" ( (binary_expression "*(int *)(puVar40 + -0x7e1c) + 0x7748" (pointer_expression "*(int *)(puVar40 + -0x7e1c)" * (cast_expression "(int *)(puVar40 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar40 + -0x7e1c)" ( (binary_expression "puVar40 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17);" (call_expression "(**(code **)(puVar40 + -0x7e0c))(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17)" (parenthesized_expression "(**(code **)(puVar40 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar40 + -0x7e0c)" * (pointer_expression "*(code **)(puVar40 + -0x7e0c)" * (cast_expression "(code **)(puVar40 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar40 + -0x7e0c)" ( (binary_expression "puVar40 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar40 + -0x7e1c) + 0x59f0,uVar17)" ( (binary_expression "*(int *)(puVar40 + -0x7e1c) + 0x59f0" (pointer_expression "*(int *)(puVar40 + -0x7e1c)" * (cast_expression "(int *)(puVar40 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar40 + -0x7e1c)" ( (binary_expression "puVar40 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_001a0af0:\n        sVar18 = 0xe3;" statement_identifier : (expression_statement "sVar18 = 0xe3;" (assignment_expression "sVar18 = 0xe3" identifier = number_literal) ;)) (expression_statement "pOVar21 = pOVar21 + 0x501;" (assignment_expression "pOVar21 = pOVar21 + 0x501" identifier = (binary_expression "pOVar21 + 0x501" identifier + number_literal)) ;) (expression_statement "pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0);" (assignment_expression "pOVar14 = (Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0)" identifier = (cast_expression "(Output_file *)(*(int *)(puVar40 + -0x7e1c) + -0x4fe0)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar40 + -0x7e1c) + -0x4fe0)" ( (binary_expression "*(int *)(puVar40 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(puVar40 + -0x7e1c)" * (cast_expression "(int *)(puVar40 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar40 + -0x7e1c)" ( (binary_expression "puVar40 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar40 + -0x7e0c))();" (call_expression "(**(code **)(puVar40 + -0x7e0c))()" (parenthesized_expression "(**(code **)(puVar40 + -0x7e0c))" ( (pointer_expression "**(code **)(puVar40 + -0x7e0c)" * (pointer_expression "*(code **)(puVar40 + -0x7e0c)" * (cast_expression "(code **)(puVar40 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar40 + -0x7e0c)" ( (binary_expression "puVar40 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar10 = extraout_v1_00;" (assignment_expression "puVar10 = extraout_v1_00" identifier = identifier) ;) (labeled_statement "LAB_001a0b08:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0);" (assignment_expression "in_t0 = (uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0)" identifier = (cast_expression "(uchar *)(uint)(*(uchar **)(sVar18 + 0xc) < in_t0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(uchar **)(sVar18 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uchar **)(sVar18 + 0xc) < in_t0)" ( (binary_expression "*(uchar **)(sVar18 + 0xc) < in_t0" (pointer_expression "*(uchar **)(sVar18 + 0xc)" * (cast_expression "(uchar **)(sVar18 + 0xc)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0xc)" ( (binary_expression "sVar18 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (uchar *)0x0) break;" if (parenthesized_expression "(in_t0 == (uchar *)0x0)" ( (binary_expression "in_t0 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001a0b1c:\n        Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);" statement_identifier : (labeled_statement "Output_file::get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21);" (call_expression "get_output_view(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21)" identifier (argument_list "(pOVar14,CONCAT44(puVar44,in_stack_ffffffa4),sVar18,pOVar21)" ( identifier , (call_expression "CONCAT44(puVar44,in_stack_ffffffa4)" identifier (argument_list "(puVar44,in_stack_ffffffa4)" ( identifier , identifier ))) , identifier , identifier ))) ;))) (labeled_statement "LAB_001a0b28:\n        uVar17 = 0x19e;" statement_identifier : (expression_statement "uVar17 = 0x19e;" (assignment_expression "uVar17 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2);" (assignment_expression "puVar32 = (uchar *)((int)puVar10 - (int)puVar37 >> 2)" identifier = (cast_expression "(uchar *)((int)puVar10 - (int)puVar37 >> 2)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 - (int)puVar37 >> 2)" ( (binary_expression "(int)puVar10 - (int)puVar37 >> 2" (binary_expression "(int)puVar10 - (int)puVar37" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) ;) (if_statement "if (*(int *)&(this->super_Output_data).data_size_ != 0) goto LAB_001a08f4;" if (parenthesized_expression "(*(int *)&(this->super_Output_data).data_size_ != 0)" ( (binary_expression "*(int *)&(this->super_Output_data).data_size_ != 0" (pointer_expression "*(int *)&(this->super_Output_data).data_size_" * (cast_expression "(int *)&(this->super_Output_data).data_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).data_size_" & (field_expression "(this->super_Output_data).data_size_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) != number_literal) )) (goto_statement "goto LAB_001a08f4;" goto statement_identifier ;)) (expression_statement "puVar32 = (uchar *)((int)puVar32 * 0x20);" (assignment_expression "puVar32 = (uchar *)((int)puVar32 * 0x20)" identifier = (cast_expression "(uchar *)((int)puVar32 * 0x20)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 * 0x20)" ( (binary_expression "(int)puVar32 * 0x20" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar32) goto LAB_001a08f4;" if (parenthesized_expression "(*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar32)" ( (binary_expression "*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar32" (pointer_expression "*(uchar **)((int)&(this->super_Output_data).data_size_ + 4)" * (cast_expression "(uchar **)((int)&(this->super_Output_data).data_size_ + 4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(this->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).data_size_ + 4" (cast_expression "(int)&(this->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).data_size_" & (field_expression "(this->super_Output_data).data_size_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) != identifier) )) (goto_statement "goto LAB_001a08f4;" goto statement_identifier ;)) (expression_statement "puVar23 = PTR_s_alize_xindex_004323b4;" (assignment_expression "puVar23 = PTR_s_alize_xindex_004323b4" identifier = identifier) ;) (if_statement "if (-1 < iVar5 << 2) goto LAB_001a08bc;" if (parenthesized_expression "(-1 < iVar5 << 2)" ( (binary_expression "-1 < iVar5 << 2" number_literal < (binary_expression "iVar5 << 2" identifier << number_literal)) )) (goto_statement "goto LAB_001a08bc;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)&(this->super_Output_data).offset_;" (assignment_expression "iVar5 = *(int *)&(this->super_Output_data).offset_" identifier = (pointer_expression "*(int *)&(this->super_Output_data).offset_" * (cast_expression "(int *)&(this->super_Output_data).offset_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).offset_" & (field_expression "(this->super_Output_data).offset_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "pOVar14 = *(Output_file **)((int)&(this->super_Output_data).offset_ + 4);" (assignment_expression "pOVar14 = *(Output_file **)((int)&(this->super_Output_data).offset_ + 4)" identifier = (pointer_expression "*(Output_file **)((int)&(this->super_Output_data).offset_ + 4)" * (cast_expression "(Output_file **)((int)&(this->super_Output_data).offset_ + 4)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(this->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(this->super_Output_data).offset_ + 4" (cast_expression "(int)&(this->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_data).offset_" & (field_expression "(this->super_Output_data).offset_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "pOVar21 = (Output_file *)PTR_s_alize_xindex_004323b4;" (assignment_expression "pOVar21 = (Output_file *)PTR_s_alize_xindex_004323b4" identifier = (cast_expression "(Output_file *)PTR_s_alize_xindex_004323b4" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar5 < 0) goto LAB_001a08e8;" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001a08e8;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar32 + (int)pOVar14;" (assignment_expression "in_t0 = puVar32 + (int)pOVar14" identifier = (binary_expression "puVar32 + (int)pOVar14" identifier + (cast_expression "(int)pOVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pOVar21 = *(Output_file **)&of->file_size_;" (assignment_expression "pOVar21 = *(Output_file **)&of->file_size_" identifier = (pointer_expression "*(Output_file **)&of->file_size_" * (cast_expression "(Output_file **)&of->file_size_" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier))))) ;) (expression_statement "pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + iVar5);" (assignment_expression "pOVar6 = (Output_file *)((uint)(in_t0 < puVar32) + iVar5)" identifier = (cast_expression "(Output_file *)((uint)(in_t0 < puVar32) + iVar5)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(in_t0 < puVar32) + iVar5)" ( (binary_expression "(uint)(in_t0 < puVar32) + iVar5" (call_expression "(uint)(in_t0 < puVar32)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar32)" ( (binary_expression "in_t0 < puVar32" identifier < identifier) ))) + identifier) )))) ;) (if_statement "if ((int)pOVar21 < (int)pOVar6) goto LAB_001a08e8;" if (parenthesized_expression "((int)pOVar21 < (int)pOVar6)" ( (binary_expression "(int)pOVar21 < (int)pOVar6" (cast_expression "(int)pOVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pOVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001a08e8;" goto statement_identifier ;)) (if_statement "if (pOVar21 == pOVar6) goto LAB_001a08d4;" if (parenthesized_expression "(pOVar21 == pOVar6)" ( (binary_expression "pOVar21 == pOVar6" identifier == identifier) )) (goto_statement "goto LAB_001a08d4;" goto statement_identifier ;)) (do_statement "do {\n    puVar29 = of->base_;\n    puVar31 = puVar29 + (int)pOVar14;\n    if (puVar37 == puVar10) {\n      if (puVar32 == (uchar *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }\n        puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n        *(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n        puVar31 = puVar30 + 0x20;\n        puVar37 = puVar10 + 1;\n      } while (puVar11 != puVar10 + 1);\nLAB_001a083c:\n      puVar37 = puVar10 + 1;\n      if ((-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&\n         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)) {\n        puVar23 = *(undefined **)(iVar39 + -0x7e1c);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;\n        return;\n      }\n    }\n    uVar17 = 0x1ab;\n    while( true ) {\n      puVar23 = (undefined *)(*(int *)(iVar39 + -0x7e1c) + 0x7758);\n      (**(code **)(iVar39 + -0x7e0c))(*(int *)(iVar39 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a08bc:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar23 + 0x7818);\n      pOVar14 = (Output_file *)(*(int *)(iVar39 + -0x7e1c) + -0x4fe0);\n      (**(code **)(iVar39 + -0x7e0c))();\n      puVar10 = extraout_v1;\nLAB_001a08d4:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_001a08e8:\n      Output_file::get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_001a08f4:\n      uVar17 = 0x19e;\n    }\n  } while( true );" do (compound_statement "{\n    puVar29 = of->base_;\n    puVar31 = puVar29 + (int)pOVar14;\n    if (puVar37 == puVar10) {\n      if (puVar32 == (uchar *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }\n        puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n        *(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n        puVar31 = puVar30 + 0x20;\n        puVar37 = puVar10 + 1;\n      } while (puVar11 != puVar10 + 1);\nLAB_001a083c:\n      puVar37 = puVar10 + 1;\n      if ((-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&\n         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)) {\n        puVar23 = *(undefined **)(iVar39 + -0x7e1c);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;\n        return;\n      }\n    }\n    uVar17 = 0x1ab;\n    while( true ) {\n      puVar23 = (undefined *)(*(int *)(iVar39 + -0x7e1c) + 0x7758);\n      (**(code **)(iVar39 + -0x7e0c))(*(int *)(iVar39 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a08bc:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar23 + 0x7818);\n      pOVar14 = (Output_file *)(*(int *)(iVar39 + -0x7e1c) + -0x4fe0);\n      (**(code **)(iVar39 + -0x7e0c))();\n      puVar10 = extraout_v1;\nLAB_001a08d4:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_001a08e8:\n      Output_file::get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_001a08f4:\n      uVar17 = 0x19e;\n    }\n  }" { (expression_statement "puVar29 = of->base_;" (assignment_expression "puVar29 = of->base_" identifier = (field_expression "of->base_" identifier -> field_identifier)) ;) (expression_statement "puVar31 = puVar29 + (int)pOVar14;" (assignment_expression "puVar31 = puVar29 + (int)pOVar14" identifier = (binary_expression "puVar29 + (int)pOVar14" identifier + (cast_expression "(int)pOVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (puVar37 == puVar10) {\n      if (puVar32 == (uchar *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }\n        puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n        *(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n        puVar31 = puVar30 + 0x20;\n        puVar37 = puVar10 + 1;\n      } while (puVar11 != puVar10 + 1);\nLAB_001a083c:\n      puVar37 = puVar10 + 1;\n      if ((-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&\n         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)) {\n        puVar23 = *(undefined **)(iVar39 + -0x7e1c);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;\n        return;\n      }\n    }" if (parenthesized_expression "(puVar37 == puVar10)" ( (binary_expression "puVar37 == puVar10" identifier == identifier) )) (compound_statement "{\n      if (puVar32 == (uchar *)0x0) {\n        return;\n      }\n    }" { (if_statement "if (puVar32 == (uchar *)0x0) {\n        return;\n      }" if (parenthesized_expression "(puVar32 == (uchar *)0x0)" ( (binary_expression "puVar32 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      do {\n        while( true ) {\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }\n        puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n        *(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n        puVar31 = puVar30 + 0x20;\n        puVar37 = puVar10 + 1;\n      } while (puVar11 != puVar10 + 1);\nLAB_001a083c:\n      puVar37 = puVar10 + 1;\n      if ((-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&\n         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)) {\n        puVar23 = *(undefined **)(iVar39 + -0x7e1c);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;\n        return;\n      }\n    }" else (compound_statement "{\n      do {\n        while( true ) {\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }\n        puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n        *(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n        puVar31 = puVar30 + 0x20;\n        puVar37 = puVar10 + 1;\n      } while (puVar11 != puVar10 + 1);\nLAB_001a083c:\n      puVar37 = puVar10 + 1;\n      if ((-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&\n         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)) {\n        puVar23 = *(undefined **)(iVar39 + -0x7e1c);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;\n        return;\n      }\n    }" { (do_statement "do {\n        while( true ) {\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }\n        puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n        *(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n        puVar31 = puVar30 + 0x20;\n        puVar37 = puVar10 + 1;\n      } while (puVar11 != puVar10 + 1);" do (compound_statement "{\n        while( true ) {\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }\n        puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n        *(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n        puVar31 = puVar30 + 0x20;\n        puVar37 = puVar10 + 1;\n      }" { (while_statement "while( true ) {\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar39 = iVar45;\n          puVar10 = puVar37;\n          puVar30 = puVar31;\n          pOVar26 = (Output_segment *)*puVar10;\n          uVar25 = pOVar26->type_;\n          uVar24 = (uint)pOVar26->offset_;\n          uVar22 = (uint)pOVar26->vaddr_;\n          uVar19 = (uint)pOVar26->paddr_;\n          uVar12 = (uint)pOVar26->filesz_;\n          uVar7 = (uint)pOVar26->memsz_;\n          in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n          *(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          *(uchar **)puVar30 = in_t0;\n          *(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          *(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = pOVar26->flags_;\n          *(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar42 = Output_segment::maximum_alignment(pOVar26);\n          uVar7 = (uint)(uVar42 >> 0x20);\n          uVar12 = (uint)uVar42;\n          uVar19 = (uint)pOVar26->min_p_align_;\n          iVar45 = iVar39;\n          if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;\n          puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);\n          *(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n          puVar31 = puVar30 + 0x20;\n          puVar37 = puVar10 + 1;\n          if (puVar11 == puVar10 + 1) goto LAB_001a083c;\n        }" { (expression_statement "iVar39 = iVar45;" (assignment_expression "iVar39 = iVar45" identifier = identifier) ;) (expression_statement "puVar10 = puVar37;" (assignment_expression "puVar10 = puVar37" identifier = identifier) ;) (expression_statement "puVar30 = puVar31;" (assignment_expression "puVar30 = puVar31" identifier = identifier) ;) (expression_statement "pOVar26 = (Output_segment *)*puVar10;" (assignment_expression "pOVar26 = (Output_segment *)*puVar10" identifier = (cast_expression "(Output_segment *)*puVar10" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "uVar25 = pOVar26->type_;" (assignment_expression "uVar25 = pOVar26->type_" identifier = (field_expression "pOVar26->type_" identifier -> field_identifier)) ;) (expression_statement "uVar24 = (uint)pOVar26->offset_;" (assignment_expression "uVar24 = (uint)pOVar26->offset_" identifier = (cast_expression "(uint)pOVar26->offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->offset_" identifier -> field_identifier))) ;) (expression_statement "uVar22 = (uint)pOVar26->vaddr_;" (assignment_expression "uVar22 = (uint)pOVar26->vaddr_" identifier = (cast_expression "(uint)pOVar26->vaddr_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->vaddr_" identifier -> field_identifier))) ;) (expression_statement "uVar19 = (uint)pOVar26->paddr_;" (assignment_expression "uVar19 = (uint)pOVar26->paddr_" identifier = (cast_expression "(uint)pOVar26->paddr_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->paddr_" identifier -> field_identifier))) ;) (expression_statement "uVar12 = (uint)pOVar26->filesz_;" (assignment_expression "uVar12 = (uint)pOVar26->filesz_" identifier = (cast_expression "(uint)pOVar26->filesz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->filesz_" identifier -> field_identifier))) ;) (expression_statement "uVar7 = (uint)pOVar26->memsz_;" (assignment_expression "uVar7 = (uint)pOVar26->memsz_" identifier = (cast_expression "(uint)pOVar26->memsz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->memsz_" identifier -> field_identifier))) ;) (expression_statement "in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);" (assignment_expression "in_t0 = (uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(uchar *)((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10)" ( (binary_expression "(uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10" (binary_expression "(uVar25 >> 0x10) << 0x18" (parenthesized_expression "(uVar25 >> 0x10)" ( (binary_expression "uVar25 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar25 >> 0x18) << 0x10" (parenthesized_expression "(uVar25 >> 0x18)" ( (binary_expression "uVar25 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff)" ( (binary_expression "(uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff" (binary_expression "(uVar25 & 0xff) << 8" (parenthesized_expression "(uVar25 & 0xff)" ( (binary_expression "uVar25 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar25 >> 8 & 0xff" (binary_expression "uVar25 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (expression_statement "*(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar30 + 8) =\n               (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar30 + 8)" * (cast_expression "(uint *)(puVar30 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 8)" ( (binary_expression "puVar30 + 8" identifier + number_literal) )))) = (binary_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10)" ( (binary_expression "(uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10" (binary_expression "(uVar22 >> 0x10) << 0x18" (parenthesized_expression "(uVar22 >> 0x10)" ( (binary_expression "uVar22 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar22 >> 0x18) << 0x10" (parenthesized_expression "(uVar22 >> 0x18)" ( (binary_expression "uVar22 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff)" ( (binary_expression "(uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar22 >> 8 & 0xff" (binary_expression "uVar22 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar30 + 0xc) =\n               (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar30 + 0xc)" * (cast_expression "(uint *)(puVar30 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0xc)" ( (binary_expression "puVar30 + 0xc" identifier + number_literal) )))) = (binary_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10)" ( (binary_expression "(uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10" (binary_expression "(uVar19 >> 0x10) << 0x18" (parenthesized_expression "(uVar19 >> 0x10)" ( (binary_expression "uVar19 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar19 >> 0x18) << 0x10" (parenthesized_expression "(uVar19 >> 0x18)" ( (binary_expression "uVar19 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff)" ( (binary_expression "(uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff" (binary_expression "(uVar19 & 0xff) << 8" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar19 >> 8 & 0xff" (binary_expression "uVar19 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*(uchar **)puVar30 = in_t0;" (assignment_expression "*(uchar **)puVar30 = in_t0" (pointer_expression "*(uchar **)puVar30" * (cast_expression "(uchar **)puVar30" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar30 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar30 + 4)" * (cast_expression "(uint *)(puVar30 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 4)" ( (binary_expression "puVar30 + 4" identifier + number_literal) )))) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar30 + 0x10) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar30 + 0x10)" * (cast_expression "(uint *)(puVar30 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x10)" ( (binary_expression "puVar30 + 0x10" identifier + number_literal) )))) = (binary_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10)" ( (binary_expression "(uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10" (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar12 >> 0x18) << 0x10" (parenthesized_expression "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff)" ( (binary_expression "(uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff" (binary_expression "(uVar12 & 0xff) << 8" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar12 >> 8 & 0xff" (binary_expression "uVar12 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar30 + 0x14) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar30 + 0x14)" * (cast_expression "(uint *)(puVar30 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x14)" ( (binary_expression "puVar30 + 0x14" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = pOVar26->flags_;" (assignment_expression "uVar7 = pOVar26->flags_" identifier = (field_expression "pOVar26->flags_" identifier -> field_identifier)) ;) (expression_statement "*(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar30 + 0x18) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar30 + 0x18)" * (cast_expression "(uint *)(puVar30 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x18)" ( (binary_expression "puVar30 + 0x18" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (ERROR "uVar42 = Output_segment::" (assignment_expression "uVar42 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar26);" (call_expression "maximum_alignment(pOVar26)" identifier (argument_list "(pOVar26)" ( identifier ))) ;) (expression_statement "uVar7 = (uint)(uVar42 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar42 >> 0x20)" identifier = (call_expression "(uint)(uVar42 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar42 >> 0x20)" ( (binary_expression "uVar42 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar12 = (uint)uVar42;" (assignment_expression "uVar12 = (uint)uVar42" identifier = (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar19 = (uint)pOVar26->min_p_align_;" (assignment_expression "uVar19 = (uint)pOVar26->min_p_align_" identifier = (cast_expression "(uint)pOVar26->min_p_align_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))) ;) (expression_statement "iVar45 = iVar39;" (assignment_expression "iVar45 = iVar39" identifier = identifier) ;) (if_statement "if ((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))) break;" if (parenthesized_expression "((uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19))))" ( (binary_expression "(uVar7 <= *(uint *)&pOVar26->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))" (parenthesized_expression "(uVar7 <= *(uint *)&pOVar26->min_p_align_)" ( (binary_expression "uVar7 <= *(uint *)&pOVar26->min_p_align_" identifier <= (pointer_expression "*(uint *)&pOVar26->min_p_align_" * (cast_expression "(uint *)&pOVar26->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->min_p_align_" & (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))))) )) && (parenthesized_expression "((uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)))" ( (parenthesized_expression "(uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19))" ( (binary_expression "uVar7 != *(uint *)&pOVar26->min_p_align_ || (uVar12 <= uVar19)" (binary_expression "uVar7 != *(uint *)&pOVar26->min_p_align_" identifier != (pointer_expression "*(uint *)&pOVar26->min_p_align_" * (cast_expression "(uint *)&pOVar26->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->min_p_align_" & (field_expression "pOVar26->min_p_align_" identifier -> field_identifier))))) || (parenthesized_expression "(uVar12 <= uVar19)" ( (binary_expression "uVar12 <= uVar19" identifier <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);" (assignment_expression "puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4)" * (cast_expression "(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)&(this->super_Output_data).field_0x24 + 4)" ( (binary_expression "*(int *)&(this->super_Output_data).field_0x24 + 4" (pointer_expression "*(int *)&(this->super_Output_data).field_0x24" * (cast_expression "(int *)&(this->super_Output_data).field_0x24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).field_0x24" & (field_expression "(this->super_Output_data).field_0x24" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar30 + 0x1c) =\n               (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar30 + 0x1c)" * (cast_expression "(uint *)(puVar30 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x1c)" ( (binary_expression "puVar30 + 0x1c" identifier + number_literal) )))) = (binary_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10)" ( (binary_expression "(uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10" (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar12 >> 0x18) << 0x10" (parenthesized_expression "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff)" ( (binary_expression "(uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff" (binary_expression "(uVar12 & 0xff) << 8" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar12 >> 8 & 0xff" (binary_expression "uVar12 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar31 = puVar30 + 0x20;" (assignment_expression "puVar31 = puVar30 + 0x20" identifier = (binary_expression "puVar30 + 0x20" identifier + number_literal)) ;) (expression_statement "puVar37 = puVar10 + 1;" (assignment_expression "puVar37 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (if_statement "if (puVar11 == puVar10 + 1) goto LAB_001a083c;" if (parenthesized_expression "(puVar11 == puVar10 + 1)" ( (binary_expression "puVar11 == puVar10 + 1" identifier == (binary_expression "puVar10 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_001a083c;" goto statement_identifier ;)) })) (expression_statement "puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);" (assignment_expression "puVar11 = *(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4)" * (cast_expression "(undefined4 **)(*(int *)&(this->super_Output_data).field_0x24 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)&(this->super_Output_data).field_0x24 + 4)" ( (binary_expression "*(int *)&(this->super_Output_data).field_0x24 + 4" (pointer_expression "*(int *)&(this->super_Output_data).field_0x24" * (cast_expression "(int *)&(this->super_Output_data).field_0x24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).field_0x24" & (field_expression "(this->super_Output_data).field_0x24" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar30 + 0x1c) =\n             (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar30 + 0x1c)" * (cast_expression "(uint *)(puVar30 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x1c)" ( (binary_expression "puVar30 + 0x1c" identifier + number_literal) )))) = (binary_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10)" ( (binary_expression "(uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10" (binary_expression "(uVar19 >> 0x10) << 0x18" (parenthesized_expression "(uVar19 >> 0x10)" ( (binary_expression "uVar19 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar19 >> 0x18) << 0x10" (parenthesized_expression "(uVar19 >> 0x18)" ( (binary_expression "uVar19 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff)" ( (binary_expression "(uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff" (binary_expression "(uVar19 & 0xff) << 8" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar19 >> 8 & 0xff" (binary_expression "uVar19 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar31 = puVar30 + 0x20;" (assignment_expression "puVar31 = puVar30 + 0x20" identifier = (binary_expression "puVar30 + 0x20" identifier + number_literal)) ;) (expression_statement "puVar37 = puVar10 + 1;" (assignment_expression "puVar37 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar11 != puVar10 + 1)" ( (binary_expression "puVar11 != puVar10 + 1" identifier != (binary_expression "puVar10 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_001a083c:\n      puVar37 = puVar10 + 1;" statement_identifier : (expression_statement "puVar37 = puVar10 + 1;" (assignment_expression "puVar37 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;)) (if_statement "if ((-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&\n         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)) {\n        puVar23 = *(undefined **)(iVar39 + -0x7e1c);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;\n        return;\n      }" if (parenthesized_expression "((-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&\n         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32))" ( (binary_expression "(-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))) &&\n         (puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)" (parenthesized_expression "(-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14))))" ( (binary_expression "-1 < (int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))" number_literal < (cast_expression "(int)(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)))" ( (binary_expression "puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14))" identifier + (parenthesized_expression "(0x20 - (int)(puVar29 + (int)pOVar14))" ( (binary_expression "0x20 - (int)(puVar29 + (int)pOVar14)" number_literal - (cast_expression "(int)(puVar29 + (int)pOVar14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar29 + (int)pOVar14)" ( (binary_expression "puVar29 + (int)pOVar14" identifier + (cast_expression "(int)pOVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) )))) )) && (parenthesized_expression "(puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32)" ( (binary_expression "puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14)) == puVar32" (binary_expression "puVar30 + (0x20 - (int)(puVar29 + (int)pOVar14))" identifier + (parenthesized_expression "(0x20 - (int)(puVar29 + (int)pOVar14))" ( (binary_expression "0x20 - (int)(puVar29 + (int)pOVar14)" number_literal - (cast_expression "(int)(puVar29 + (int)pOVar14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar29 + (int)pOVar14)" ( (binary_expression "puVar29 + (int)pOVar14" identifier + (cast_expression "(int)pOVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) == identifier) ))) )) (compound_statement "{\n        puVar23 = *(undefined **)(iVar39 + -0x7e1c);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;\n        return;\n      }" { (expression_statement "puVar23 = *(undefined **)(iVar39 + -0x7e1c);" (assignment_expression "puVar23 = *(undefined **)(iVar39 + -0x7e1c)" identifier = (pointer_expression "*(undefined **)(iVar39 + -0x7e1c)" * (cast_expression "(undefined **)(iVar39 + -0x7e1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar39 + -0x7e1c)" ( (binary_expression "iVar39 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;" if (parenthesized_expression "(-1 < *(int *)&(this->super_Output_data).field_0x20 << 2)" ( (binary_expression "-1 < *(int *)&(this->super_Output_data).field_0x20 << 2" number_literal < (binary_expression "*(int *)&(this->super_Output_data).field_0x20 << 2" (pointer_expression "*(int *)&(this->super_Output_data).field_0x20" * (cast_expression "(int *)&(this->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_data).field_0x20" & (field_expression "(this->super_Output_data).field_0x20" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) << number_literal)) )) (goto_statement "goto LAB_001a08bc;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (expression_statement "uVar17 = 0x1ab;" (assignment_expression "uVar17 = 0x1ab" identifier = number_literal) ;) (while_statement "while( true ) {\n      puVar23 = (undefined *)(*(int *)(iVar39 + -0x7e1c) + 0x7758);\n      (**(code **)(iVar39 + -0x7e0c))(*(int *)(iVar39 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a08bc:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar23 + 0x7818);\n      pOVar14 = (Output_file *)(*(int *)(iVar39 + -0x7e1c) + -0x4fe0);\n      (**(code **)(iVar39 + -0x7e0c))();\n      puVar10 = extraout_v1;\nLAB_001a08d4:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_001a08e8:\n      Output_file::get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_001a08f4:\n      uVar17 = 0x19e;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      puVar23 = (undefined *)(*(int *)(iVar39 + -0x7e1c) + 0x7758);\n      (**(code **)(iVar39 + -0x7e0c))(*(int *)(iVar39 + -0x7e1c) + 0x59f0,uVar17);\nLAB_001a08bc:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar23 + 0x7818);\n      pOVar14 = (Output_file *)(*(int *)(iVar39 + -0x7e1c) + -0x4fe0);\n      (**(code **)(iVar39 + -0x7e0c))();\n      puVar10 = extraout_v1;\nLAB_001a08d4:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_001a08e8:\n      Output_file::get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_001a08f4:\n      uVar17 = 0x19e;\n    }" { (expression_statement "puVar23 = (undefined *)(*(int *)(iVar39 + -0x7e1c) + 0x7758);" (assignment_expression "puVar23 = (undefined *)(*(int *)(iVar39 + -0x7e1c) + 0x7758)" identifier = (cast_expression "(undefined *)(*(int *)(iVar39 + -0x7e1c) + 0x7758)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar39 + -0x7e1c) + 0x7758)" ( (binary_expression "*(int *)(iVar39 + -0x7e1c) + 0x7758" (pointer_expression "*(int *)(iVar39 + -0x7e1c)" * (cast_expression "(int *)(iVar39 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x7e1c)" ( (binary_expression "iVar39 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(iVar39 + -0x7e0c))(*(int *)(iVar39 + -0x7e1c) + 0x59f0,uVar17);" (call_expression "(**(code **)(iVar39 + -0x7e0c))(*(int *)(iVar39 + -0x7e1c) + 0x59f0,uVar17)" (parenthesized_expression "(**(code **)(iVar39 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar39 + -0x7e0c)" * (pointer_expression "*(code **)(iVar39 + -0x7e0c)" * (cast_expression "(code **)(iVar39 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar39 + -0x7e0c)" ( (binary_expression "iVar39 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar39 + -0x7e1c) + 0x59f0,uVar17)" ( (binary_expression "*(int *)(iVar39 + -0x7e1c) + 0x59f0" (pointer_expression "*(int *)(iVar39 + -0x7e1c)" * (cast_expression "(int *)(iVar39 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x7e1c)" ( (binary_expression "iVar39 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_001a08bc:\n      of = (Output_file *)0xe3;" statement_identifier : (expression_statement "of = (Output_file *)0xe3;" (assignment_expression "of = (Output_file *)0xe3" identifier = (cast_expression "(Output_file *)0xe3" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pOVar21 = (Output_file *)(puVar23 + 0x7818);" (assignment_expression "pOVar21 = (Output_file *)(puVar23 + 0x7818)" identifier = (cast_expression "(Output_file *)(puVar23 + 0x7818)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x7818)" ( (binary_expression "puVar23 + 0x7818" identifier + number_literal) )))) ;) (expression_statement "pOVar14 = (Output_file *)(*(int *)(iVar39 + -0x7e1c) + -0x4fe0);" (assignment_expression "pOVar14 = (Output_file *)(*(int *)(iVar39 + -0x7e1c) + -0x4fe0)" identifier = (cast_expression "(Output_file *)(*(int *)(iVar39 + -0x7e1c) + -0x4fe0)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar39 + -0x7e1c) + -0x4fe0)" ( (binary_expression "*(int *)(iVar39 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(iVar39 + -0x7e1c)" * (cast_expression "(int *)(iVar39 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x7e1c)" ( (binary_expression "iVar39 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(iVar39 + -0x7e0c))();" (call_expression "(**(code **)(iVar39 + -0x7e0c))()" (parenthesized_expression "(**(code **)(iVar39 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar39 + -0x7e0c)" * (pointer_expression "*(code **)(iVar39 + -0x7e0c)" * (cast_expression "(code **)(iVar39 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar39 + -0x7e0c)" ( (binary_expression "iVar39 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar10 = extraout_v1;" (assignment_expression "puVar10 = extraout_v1" identifier = identifier) ;) (labeled_statement "LAB_001a08d4:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);" statement_identifier : (expression_statement "in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);" (assignment_expression "in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0)" identifier = (cast_expression "(uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uchar **)((int)&of->file_size_ + 4) < in_t0)" ( (binary_expression "*(uchar **)((int)&of->file_size_ + 4) < in_t0" (pointer_expression "*(uchar **)((int)&of->file_size_ + 4)" * (cast_expression "(uchar **)((int)&of->file_size_ + 4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&of->file_size_ + 4)" ( (binary_expression "(int)&of->file_size_ + 4" (cast_expression "(int)&of->file_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier))) + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (uchar *)0x0) break;" if (parenthesized_expression "(in_t0 == (uchar *)0x0)" ( (binary_expression "in_t0 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001a08e8:\n      Output_file::get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21);" statement_identifier : (labeled_statement "Output_file::get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21);" (call_expression "get_output_view(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21)" identifier (argument_list "(pOVar14,CONCAT44(iVar45,in_stack_ffffffdc),(size_t)of,pOVar21)" ( identifier , (call_expression "CONCAT44(iVar45,in_stack_ffffffdc)" identifier (argument_list "(iVar45,in_stack_ffffffdc)" ( identifier , identifier ))) , (cast_expression "(size_t)of" ( (type_descriptor "size_t" primitive_type) ) identifier) , identifier ))) ;))) (labeled_statement "LAB_001a08f4:\n      uVar17 = 0x19e;" statement_identifier : (expression_statement "uVar17 = 0x19e;" (assignment_expression "uVar17 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) (ERROR "}" }))
(translation_unit "void __thiscall\ngold::Output_segment_headers::do_sized_write<32,false>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  uint uVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  Output_segment *this_00;\n  int *piVar11;\n  uint uVar12;\n  int *piVar13;\n  undefined4 *puVar14;\n  undefined8 uVar15;\n  \n  puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24);\n  puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];\n  if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }\n  if (*(int *)(this + 0x10) == 0) {\n    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;\n    if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }\n  }\n  uVar6 = 0x19e;\nLAB_001a08a4:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);\n  return;\n}\n\n" (declaration "void __thiscall\ngold::Output_segment_headers::do_sized_write<32,false>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int *piVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_segment_headers::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int" (function_declarator "false>\n          (Output_segment_headers *this,Output_file *param_1)" identifier (ERROR ">" >) (parameter_list "(Output_segment_headers *this,Output_file *param_1)" ( (parameter_declaration "Output_segment_headers *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) { primitive_type) (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "Output_segment *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (expression_statement "puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24);" (assignment_expression "puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(this + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(this + 0x24)" * (pointer_expression "*(undefined4 **)(this + 0x24)" * (cast_expression "(undefined4 **)(this + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];" (assignment_expression "puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1]" identifier = (cast_expression "(undefined4 *)(*(undefined4 **)(this + 0x24))[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(this + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(this + 0x24))" ( (pointer_expression "*(undefined4 **)(this + 0x24)" * (cast_expression "(undefined4 **)(this + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 1" number_literal < (binary_expression "*(int *)(this + 0x20) << 1" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" (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,PTR_s_alize_xindex_004323b4 + 0x7894)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7894" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(this + 0x10) == 0) {\n    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;\n    if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }\n  }" if (parenthesized_expression "(*(int *)(this + 0x10) == 0)" ( (binary_expression "*(int *)(this + 0x10) == 0" (pointer_expression "*(int *)(this + 0x10)" * (cast_expression "(int *)(this + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;\n    if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }\n  }" { (expression_statement "uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;" (assignment_expression "uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20" identifier = (binary_expression "((int)puVar3 - (int)puVar14 >> 2) * 0x20" (parenthesized_expression "((int)puVar3 - (int)puVar14 >> 2)" ( (binary_expression "(int)puVar3 - (int)puVar14 >> 2" (binary_expression "(int)puVar3 - (int)puVar14" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal)) ;) (if_statement "if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }" if (parenthesized_expression "(*(uint *)(this + 0x14) == uVar12)" ( (binary_expression "*(uint *)(this + 0x14) == uVar12" (pointer_expression "*(uint *)(this + 0x14)" * (cast_expression "(uint *)(this + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }" { (if_statement "if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 2" number_literal < (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }" { (labeled_statement "LAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" (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,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7818" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(this + 0x18))" ( (binary_expression "-1 < *(int *)(this + 0x18)" number_literal < (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }" { (expression_statement "uVar9 = uVar12 + *(int *)(this + 0x1c);" (assignment_expression "uVar9 = uVar12 + *(int *)(this + 0x1c)" identifier = (binary_expression "uVar12 + *(int *)(this + 0x1c)" identifier + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);" (assignment_expression "iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18)" identifier = (binary_expression "(uint)(uVar9 < uVar12) + *(int *)(this + 0x18)" (call_expression "(uint)(uVar9 < uVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < uVar12)" ( (binary_expression "uVar9 < uVar12" identifier < identifier) ))) + (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }" if (parenthesized_expression "((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc)))))" ( (binary_expression "(iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))" (parenthesized_expression "(iVar2 <= *(int *)(param_1 + 8))" ( (binary_expression "iVar2 <= *(int *)(param_1 + 8)" identifier <= (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))" ( (parenthesized_expression "(*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc)))" ( (binary_expression "*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))" (binary_expression "*(int *)(param_1 + 8) != iVar2" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar9 <= *(uint *)(param_1 + 0xc))" ( (binary_expression "uVar9 <= *(uint *)(param_1 + 0xc)" identifier <= (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }" { (expression_statement "piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));" (assignment_expression "piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" identifier = (cast_expression "(int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" ( (binary_expression "*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c)" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "piVar1 = piVar13;" (assignment_expression "piVar1 = piVar13" identifier = identifier) ;) (if_statement "if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }" if (parenthesized_expression "(puVar14 == puVar3)" ( (binary_expression "puVar14 == puVar3" identifier == identifier) )) (compound_statement "{\n            if (uVar12 == 0) {\n              return;\n            }\n          }" { (if_statement "if (uVar12 == 0) {\n              return;\n            }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }" else (compound_statement "{\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }" { (do_statement "do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);" do (compound_statement "{\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            }" { (while_statement "while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }" { (expression_statement "piVar11 = piVar1;" (assignment_expression "piVar11 = piVar1" identifier = identifier) ;) (expression_statement "this_00 = (Output_segment *)*puVar14;" (assignment_expression "this_00 = (Output_segment *)*puVar14" identifier = (cast_expression "(Output_segment *)*puVar14" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier))) ;) (expression_statement "uVar10 = *(uint *)(this_00 + 0x198);" (assignment_expression "uVar10 = *(uint *)(this_00 + 0x198)" identifier = (pointer_expression "*(uint *)(this_00 + 0x198)" * (cast_expression "(uint *)(this_00 + 0x198)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x198)" ( (binary_expression "this_00 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(this_00 + 0x18c);" (assignment_expression "uVar8 = *(uint *)(this_00 + 0x18c)" identifier = (pointer_expression "*(uint *)(this_00 + 0x18c)" * (cast_expression "(uint *)(this_00 + 0x18c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x18c)" ( (binary_expression "this_00 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(this_00 + 0x164);" (assignment_expression "uVar7 = *(uint *)(this_00 + 0x164)" identifier = (pointer_expression "*(uint *)(this_00 + 0x164)" * (cast_expression "(uint *)(this_00 + 0x164)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x164)" ( (binary_expression "this_00 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(this_00 + 0x16c);" (assignment_expression "uVar5 = *(uint *)(this_00 + 0x16c)" identifier = (pointer_expression "*(uint *)(this_00 + 0x16c)" * (cast_expression "(uint *)(this_00 + 0x16c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x16c)" ( (binary_expression "this_00 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(uint *)(this_00 + 0x194);" (assignment_expression "uVar4 = *(uint *)(this_00 + 0x194)" identifier = (pointer_expression "*(uint *)(this_00 + 0x194)" * (cast_expression "(uint *)(this_00 + 0x194)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x194)" ( (binary_expression "this_00 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(uint *)(this_00 + 0x174);" (assignment_expression "uVar9 = *(uint *)(this_00 + 0x174)" identifier = (pointer_expression "*(uint *)(this_00 + 0x174)" * (cast_expression "(uint *)(this_00 + 0x174)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x174)" ( (binary_expression "this_00 + 0x174" identifier + number_literal) ))))) ;) (expression_statement "piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[2]" identifier [ number_literal ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[3]" identifier [ number_literal ]) = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" ( (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" ( (binary_expression "uVar5 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar11" * identifier) = (binary_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10)" ( (binary_expression "(uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10" (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar10 >> 0x18) << 0x10" (parenthesized_expression "(uVar10 >> 0x18)" ( (binary_expression "uVar10 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff)" ( (binary_expression "(uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff" (binary_expression "(uVar10 & 0xff) << 8" (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar10 >> 8 & 0xff" (binary_expression "uVar10 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[4]" identifier [ number_literal ]) = (binary_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10)" ( (binary_expression "(uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10" (binary_expression "(uVar4 >> 0x10) << 0x18" (parenthesized_expression "(uVar4 >> 0x10)" ( (binary_expression "uVar4 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar4 >> 0x18) << 0x10" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff)" ( (binary_expression "(uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff" (binary_expression "(uVar4 & 0xff) << 8" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[5]" identifier [ number_literal ]) = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar9 = *(uint *)(this_00 + 0x19c);" (assignment_expression "uVar9 = *(uint *)(this_00 + 0x19c)" identifier = (pointer_expression "*(uint *)(this_00 + 0x19c)" * (cast_expression "(uint *)(this_00 + 0x19c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x19c)" ( (binary_expression "this_00 + 0x19c" identifier + number_literal) ))))) ;) (expression_statement "piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[6]" identifier [ number_literal ]) = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (ERROR "uVar15 = Output_segment::" (assignment_expression "uVar15 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(this_00);" (call_expression "maximum_alignment(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;) (expression_statement "uVar9 = (uint)((ulonglong)uVar15 >> 0x20);" (assignment_expression "uVar9 = (uint)((ulonglong)uVar15 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar15 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar15 >> 0x20)" ( (binary_expression "(ulonglong)uVar15 >> 0x20" (cast_expression "(ulonglong)uVar15" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar4 = (uint)uVar15;" (assignment_expression "uVar4 = (uint)uVar15" identifier = (cast_expression "(uint)uVar15" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar5 = *(uint *)(this_00 + 0x184);" (assignment_expression "uVar5 = *(uint *)(this_00 + 0x184)" identifier = (pointer_expression "*(uint *)(this_00 + 0x184)" * (cast_expression "(uint *)(this_00 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x184)" ( (binary_expression "this_00 + 0x184" identifier + number_literal) ))))) ;) (if_statement "if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;" if (parenthesized_expression "((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5))))" ( (binary_expression "(uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))" (parenthesized_expression "(uVar9 <= *(uint *)(this_00 + 0x180))" ( (binary_expression "uVar9 <= *(uint *)(this_00 + 0x180)" identifier <= (pointer_expression "*(uint *)(this_00 + 0x180)" * (cast_expression "(uint *)(this_00 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x180)" ( (binary_expression "this_00 + 0x180" identifier + number_literal) ))))) )) && (parenthesized_expression "((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))" ( (parenthesized_expression "(uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5))" ( (binary_expression "uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)" (binary_expression "uVar9 != *(uint *)(this_00 + 0x180)" identifier != (pointer_expression "*(uint *)(this_00 + 0x180)" * (cast_expression "(uint *)(this_00 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x180)" ( (binary_expression "this_00 + 0x180" identifier + number_literal) ))))) || (parenthesized_expression "(uVar4 <= uVar5)" ( (binary_expression "uVar4 <= uVar5" identifier <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(this + 0x24) + 4)" * (cast_expression "(undefined4 **)(*(int *)(this + 0x24) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(this + 0x24) + 4)" ( (binary_expression "*(int *)(this + 0x24) + 4" (pointer_expression "*(int *)(this + 0x24)" * (cast_expression "(int *)(this + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[7]" identifier [ number_literal ]) = (binary_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10)" ( (binary_expression "(uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10" (binary_expression "(uVar4 >> 0x10) << 0x18" (parenthesized_expression "(uVar4 >> 0x10)" ( (binary_expression "uVar4 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar4 >> 0x18) << 0x10" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff)" ( (binary_expression "(uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff" (binary_expression "(uVar4 & 0xff) << 8" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar1 = piVar11 + 8;" (assignment_expression "piVar1 = piVar11 + 8" identifier = (binary_expression "piVar11 + 8" identifier + number_literal)) ;) (if_statement "if (puVar3 == puVar14) goto LAB_001a083c;" if (parenthesized_expression "(puVar3 == puVar14)" ( (binary_expression "puVar3 == puVar14" identifier == identifier) )) (goto_statement "goto LAB_001a083c;" goto statement_identifier ;)) })) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(this + 0x24) + 4)" * (cast_expression "(undefined4 **)(*(int *)(this + 0x24) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(this + 0x24) + 4)" ( (binary_expression "*(int *)(this + 0x24) + 4" (pointer_expression "*(int *)(this + 0x24)" * (cast_expression "(int *)(this + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[7]" identifier [ number_literal ]) = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" ( (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" ( (binary_expression "uVar5 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar1 = piVar11 + 8;" (assignment_expression "piVar1 = piVar11 + 8" identifier = (binary_expression "piVar11 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar3 != puVar14)" ( (binary_expression "puVar3 != puVar14" identifier != identifier) )) ;) (labeled_statement "LAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);" statement_identifier : (expression_statement "uVar9 = (int)piVar11 + (0x20 - (int)piVar13);" (assignment_expression "uVar9 = (int)piVar11 + (0x20 - (int)piVar13)" identifier = (binary_expression "(int)piVar11 + (0x20 - (int)piVar13)" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x20 - (int)piVar13)" ( (binary_expression "0x20 - (int)piVar13" number_literal - (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (if_statement "if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }" if (parenthesized_expression "((-1 < (int)uVar9) && (uVar9 == uVar12))" ( (binary_expression "(-1 < (int)uVar9) && (uVar9 == uVar12)" (parenthesized_expression "(-1 < (int)uVar9)" ( (binary_expression "-1 < (int)uVar9" number_literal < (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(uVar9 == uVar12)" ( (binary_expression "uVar9 == uVar12" identifier == identifier) ))) )) (compound_statement "{\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }" { (if_statement "if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }" if (parenthesized_expression "(*(int *)(this + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(this + 0x20) << 2 < 0" (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_001a08bc;" goto statement_identifier ;) })) }))) (expression_statement "uVar6 = 0x1ab;" (assignment_expression "uVar6 = 0x1ab" identifier = number_literal) ;) (goto_statement "goto LAB_001a08a4;" goto statement_identifier ;) })) })) (expression_statement "FUN_00182b60();" (call_expression "FUN_00182b60()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "uVar6 = 0x19e;" (assignment_expression "uVar6 = 0x19e" identifier = number_literal) ;) (labeled_statement "LAB_001a08a4:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758)" (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 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + 0x59f0" identifier + number_literal) , identifier , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7758" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) IDENT (ERROR < LIT) , (ERROR (function_declarator IDENT (ERROR >) (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) { TYPE) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (compound_statement { (expression_statement (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 ;) })) (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 = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (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) ))))) ;) (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) ))))) ;) (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) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (ERROR (assignment_expression IDENT = IDENT) : :) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (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 { (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) (ERROR }))
(declaration "void __thiscall\ngold::Output_segment_headers::do_sized_write<32,false>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int *piVar1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Output_segment_headers::" (identifier "gold") (: ":") (: ":") (identifier "Output_segment_headers") (: ":") (: ":")) (identifier "do_sized_write") (ERROR "<32" (< "<") (number_literal "32")) (, ",") (ERROR "false>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int" (function_declarator "false>\n          (Output_segment_headers *this,Output_file *param_1)" (identifier "false") (ERROR ">" (> ">")) (parameter_list "(Output_segment_headers *this,Output_file *param_1)" (( "(") (parameter_declaration "Output_segment_headers *this" (type_identifier "Output_segment_headers") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Output_file *param_1" (type_identifier "Output_file") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) ({ "{") (primitive_type "int")) (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "Output_segment *this_00;" (type_identifier "Output_segment") (pointer_declarator "*this_00" (* "*") (identifier "this_00")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined8 uVar15;" (type_identifier "undefined8") (identifier "uVar15") (; ";")) (expression_statement "puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24);" (assignment_expression "puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24)" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)**(undefined4 **)(this + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(this + 0x24)" (* "*") (pointer_expression "*(undefined4 **)(this + 0x24)" (* "*") (cast_expression "(undefined4 **)(this + 0x24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x24)" (( "(") (binary_expression "this + 0x24" (identifier "this") (+ "+") (number_literal "0x24")) () ")"))))))) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];" (assignment_expression "puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1]" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(undefined4 **)(this + 0x24))[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*(undefined4 **)(this + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(this + 0x24))" (( "(") (pointer_expression "*(undefined4 **)(this + 0x24)" (* "*") (cast_expression "(undefined4 **)(this + 0x24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x24)" (( "(") (binary_expression "this + 0x24" (identifier "this") (+ "+") (number_literal "0x24")) () ")")))) () ")")) ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" (if "if") (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(this + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(this + 0x20) << 1" (pointer_expression "*(int *)(this + 0x20)" (* "*") (cast_expression "(int *)(this + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x20)" (( "(") (binary_expression "this + 0x20" (identifier "this") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" (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,PTR_s_alize_xindex_004323b4 + 0x7894)" (( "(") (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 + 0x7894" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x7894")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(this + 0x10) == 0) {\n    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;\n    if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(this + 0x10) == 0)" (( "(") (binary_expression "*(int *)(this + 0x10) == 0" (pointer_expression "*(int *)(this + 0x10)" (* "*") (cast_expression "(int *)(this + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;\n    if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }\n  }" ({ "{") (expression_statement "uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;" (assignment_expression "uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20" (identifier "uVar12") (= "=") (binary_expression "((int)puVar3 - (int)puVar14 >> 2) * 0x20" (parenthesized_expression "((int)puVar3 - (int)puVar14 >> 2)" (( "(") (binary_expression "(int)puVar3 - (int)puVar14 >> 2" (binary_expression "(int)puVar3 - (int)puVar14" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (- "-") (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "0x20"))) (; ";")) (if_statement "if (*(uint *)(this + 0x14) == uVar12) {\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }" (if "if") (parenthesized_expression "(*(uint *)(this + 0x14) == uVar12)" (( "(") (binary_expression "*(uint *)(this + 0x14) == uVar12" (pointer_expression "*(uint *)(this + 0x14)" (* "*") (cast_expression "(uint *)(this + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (identifier "uVar12")) () ")")) (compound_statement "{\n      if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }\n      if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }\n      FUN_00182b60();\n    }" ({ "{") (if_statement "if (-1 < *(int *)(this + 0x20) << 2) {\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }" (if "if") (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(this + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" (* "*") (cast_expression "(int *)(this + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x20)" (( "(") (binary_expression "this + 0x20" (identifier "this") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (compound_statement "{\nLAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n        return;\n      }" ({ "{") (labeled_statement "LAB_001a08bc:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" (statement_identifier "LAB_001a08bc") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" (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,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xe3") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7818" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x7818")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (-1 < *(int *)(this + 0x18)) {\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }" (if "if") (parenthesized_expression "(-1 < *(int *)(this + 0x18))" (( "(") (binary_expression "-1 < *(int *)(this + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(this + 0x18)" (* "*") (cast_expression "(int *)(this + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x18)" (( "(") (binary_expression "this + 0x18" (identifier "this") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n        uVar9 = uVar12 + *(int *)(this + 0x1c);\n        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);\n        if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }\n      }" ({ "{") (expression_statement "uVar9 = uVar12 + *(int *)(this + 0x1c);" (assignment_expression "uVar9 = uVar12 + *(int *)(this + 0x1c)" (identifier "uVar9") (= "=") (binary_expression "uVar12 + *(int *)(this + 0x1c)" (identifier "uVar12") (+ "+") (pointer_expression "*(int *)(this + 0x1c)" (* "*") (cast_expression "(int *)(this + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x1c)" (( "(") (binary_expression "this + 0x1c" (identifier "this") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);" (assignment_expression "iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18)" (identifier "iVar2") (= "=") (binary_expression "(uint)(uVar9 < uVar12) + *(int *)(this + 0x18)" (call_expression "(uint)(uVar9 < uVar12)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 < uVar12)" (( "(") (binary_expression "uVar9 < uVar12" (identifier "uVar9") (< "<") (identifier "uVar12")) () ")"))) (+ "+") (pointer_expression "*(int *)(this + 0x18)" (* "*") (cast_expression "(int *)(this + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x18)" (( "(") (binary_expression "this + 0x18" (identifier "this") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if ((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }" (if "if") (parenthesized_expression "((iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc)))))" (( "(") (binary_expression "(iVar2 <= *(int *)(param_1 + 8)) &&\n           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))" (parenthesized_expression "(iVar2 <= *(int *)(param_1 + 8))" (( "(") (binary_expression "iVar2 <= *(int *)(param_1 + 8)" (identifier "iVar2") (<= "<=") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc)))" (( "(") (binary_expression "*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))" (binary_expression "*(int *)(param_1 + 8) != iVar2" (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar2")) (|| "||") (parenthesized_expression "(uVar9 <= *(uint *)(param_1 + 0xc))" (( "(") (binary_expression "uVar9 <= *(uint *)(param_1 + 0xc)" (identifier "uVar9") (<= "<=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n          piVar1 = piVar13;\n          if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }\n          uVar6 = 0x1ab;\n          goto LAB_001a08a4;\n        }" ({ "{") (expression_statement "piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));" (assignment_expression "piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" (identifier "piVar13") (= "=") (cast_expression "(int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" (( "(") (binary_expression "*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c)" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(this + 0x1c)" (* "*") (cast_expression "(int *)(this + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x1c)" (( "(") (binary_expression "this + 0x1c" (identifier "this") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "piVar1 = piVar13;" (assignment_expression "piVar1 = piVar13" (identifier "piVar1") (= "=") (identifier "piVar13")) (; ";")) (if_statement "if (puVar14 == puVar3) {\n            if (uVar12 == 0) {\n              return;\n            }\n          }\n          else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }" (if "if") (parenthesized_expression "(puVar14 == puVar3)" (( "(") (binary_expression "puVar14 == puVar3" (identifier "puVar14") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n            if (uVar12 == 0) {\n              return;\n            }\n          }" ({ "{") (if_statement "if (uVar12 == 0) {\n              return;\n            }" (if "if") (parenthesized_expression "(uVar12 == 0)" (( "(") (binary_expression "uVar12 == 0" (identifier "uVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              return;\n            }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }" (else "else") (compound_statement "{\n            do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);\nLAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);\n            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }\n          }" ({ "{") (do_statement "do {\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            } while (puVar3 != puVar14);" (do "do") (compound_statement "{\n              while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }\n              puVar14 = puVar14 + 1;\n              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n              piVar1 = piVar11 + 8;\n            }" ({ "{") (while_statement "while( true ) {\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                piVar11 = piVar1;\n                this_00 = (Output_segment *)*puVar14;\n                uVar10 = *(uint *)(this_00 + 0x198);\n                uVar8 = *(uint *)(this_00 + 0x18c);\n                uVar7 = *(uint *)(this_00 + 0x164);\n                uVar5 = *(uint *)(this_00 + 0x16c);\n                uVar4 = *(uint *)(this_00 + 0x194);\n                uVar9 = *(uint *)(this_00 + 0x174);\n                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar9 = *(uint *)(this_00 + 0x19c);\n                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n                uVar15 = Output_segment::maximum_alignment(this_00);\n                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);\n                uVar4 = (uint)uVar15;\n                uVar5 = *(uint *)(this_00 + 0x184);\n                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;\n                puVar14 = puVar14 + 1;\n                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);\n                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n                piVar1 = piVar11 + 8;\n                if (puVar3 == puVar14) goto LAB_001a083c;\n              }" ({ "{") (expression_statement "piVar11 = piVar1;" (assignment_expression "piVar11 = piVar1" (identifier "piVar11") (= "=") (identifier "piVar1")) (; ";")) (expression_statement "this_00 = (Output_segment *)*puVar14;" (assignment_expression "this_00 = (Output_segment *)*puVar14" (identifier "this_00") (= "=") (cast_expression "(Output_segment *)*puVar14" (( "(") (type_descriptor "Output_segment *" (type_identifier "Output_segment") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")))) (; ";")) (expression_statement "uVar10 = *(uint *)(this_00 + 0x198);" (assignment_expression "uVar10 = *(uint *)(this_00 + 0x198)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(this_00 + 0x198)" (* "*") (cast_expression "(uint *)(this_00 + 0x198)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x198)" (( "(") (binary_expression "this_00 + 0x198" (identifier "this_00") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(uint *)(this_00 + 0x18c);" (assignment_expression "uVar8 = *(uint *)(this_00 + 0x18c)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(this_00 + 0x18c)" (* "*") (cast_expression "(uint *)(this_00 + 0x18c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x18c)" (( "(") (binary_expression "this_00 + 0x18c" (identifier "this_00") (+ "+") (number_literal "0x18c")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)(this_00 + 0x164);" (assignment_expression "uVar7 = *(uint *)(this_00 + 0x164)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(this_00 + 0x164)" (* "*") (cast_expression "(uint *)(this_00 + 0x164)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x164)" (( "(") (binary_expression "this_00 + 0x164" (identifier "this_00") (+ "+") (number_literal "0x164")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(this_00 + 0x16c);" (assignment_expression "uVar5 = *(uint *)(this_00 + 0x16c)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(this_00 + 0x16c)" (* "*") (cast_expression "(uint *)(this_00 + 0x16c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x16c)" (( "(") (binary_expression "this_00 + 0x16c" (identifier "this_00") (+ "+") (number_literal "0x16c")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(uint *)(this_00 + 0x194);" (assignment_expression "uVar4 = *(uint *)(this_00 + 0x194)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(this_00 + 0x194)" (* "*") (cast_expression "(uint *)(this_00 + 0x194)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x194)" (( "(") (binary_expression "this_00 + 0x194" (identifier "this_00") (+ "+") (number_literal "0x194")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(uint *)(this_00 + 0x174);" (assignment_expression "uVar9 = *(uint *)(this_00 + 0x174)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(this_00 + 0x174)" (* "*") (cast_expression "(uint *)(this_00 + 0x174)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x174)" (( "(") (binary_expression "this_00 + 0x174" (identifier "this_00") (+ "+") (number_literal "0x174")) () ")"))))) (; ";")) (expression_statement "piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[3]" (identifier "piVar11") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" (( "(") (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" (( "(") (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" (( "(") (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" (( "(") (binary_expression "uVar5 & 0xff" (identifier "uVar5") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "*piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (binary_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10" (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" (( "(") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar10 >> 0x18) << 0x10" (parenthesized_expression "(uVar10 >> 0x18)" (( "(") (binary_expression "uVar10 >> 0x18" (identifier "uVar10") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff)" (( "(") (binary_expression "(uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff" (binary_expression "(uVar10 & 0xff) << 8" (parenthesized_expression "(uVar10 & 0xff)" (( "(") (binary_expression "uVar10 & 0xff" (identifier "uVar10") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar10 >> 8 & 0xff" (binary_expression "uVar10 >> 8" (identifier "uVar10") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" (( "(") (binary_expression "uVar8 >> 0x10" (identifier "uVar8") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" (( "(") (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" (( "(") (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" (( "(") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" (identifier "uVar8") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[4]" (identifier "piVar11") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10" (binary_expression "(uVar4 >> 0x10) << 0x18" (parenthesized_expression "(uVar4 >> 0x10)" (( "(") (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar4 >> 0x18) << 0x10" (parenthesized_expression "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff)" (( "(") (binary_expression "(uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff" (binary_expression "(uVar4 & 0xff) << 8" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[5]" (identifier "piVar11") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" (( "(") (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" (( "(") (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" (( "(") (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" (( "(") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar9 = *(uint *)(this_00 + 0x19c);" (assignment_expression "uVar9 = *(uint *)(this_00 + 0x19c)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(this_00 + 0x19c)" (* "*") (cast_expression "(uint *)(this_00 + 0x19c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x19c)" (( "(") (binary_expression "this_00 + 0x19c" (identifier "this_00") (+ "+") (number_literal "0x19c")) () ")"))))) (; ";")) (expression_statement "piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[6]" (identifier "piVar11") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" (( "(") (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" (( "(") (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" (( "(") (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" (( "(") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (ERROR "uVar15 = Output_segment::" (assignment_expression "uVar15 = Output_segment" (identifier "uVar15") (= "=") (identifier "Output_segment")) (: ":") (: ":")) (expression_statement "maximum_alignment(this_00);" (call_expression "maximum_alignment(this_00)" (identifier "maximum_alignment") (argument_list "(this_00)" (( "(") (identifier "this_00") () ")"))) (; ";")) (expression_statement "uVar9 = (uint)((ulonglong)uVar15 >> 0x20);" (assignment_expression "uVar9 = (uint)((ulonglong)uVar15 >> 0x20)" (identifier "uVar9") (= "=") (call_expression "(uint)((ulonglong)uVar15 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar15 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar15 >> 0x20" (cast_expression "(ulonglong)uVar15" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar15")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar4 = (uint)uVar15;" (assignment_expression "uVar4 = (uint)uVar15" (identifier "uVar4") (= "=") (cast_expression "(uint)uVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar15"))) (; ";")) (expression_statement "uVar5 = *(uint *)(this_00 + 0x184);" (assignment_expression "uVar5 = *(uint *)(this_00 + 0x184)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(this_00 + 0x184)" (* "*") (cast_expression "(uint *)(this_00 + 0x184)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x184)" (( "(") (binary_expression "this_00 + 0x184" (identifier "this_00") (+ "+") (number_literal "0x184")) () ")"))))) (; ";")) (if_statement "if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;" (if "if") (parenthesized_expression "((uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5))))" (( "(") (binary_expression "(uVar9 <= *(uint *)(this_00 + 0x180)) &&\n                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))" (parenthesized_expression "(uVar9 <= *(uint *)(this_00 + 0x180))" (( "(") (binary_expression "uVar9 <= *(uint *)(this_00 + 0x180)" (identifier "uVar9") (<= "<=") (pointer_expression "*(uint *)(this_00 + 0x180)" (* "*") (cast_expression "(uint *)(this_00 + 0x180)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x180)" (( "(") (binary_expression "this_00 + 0x180" (identifier "this_00") (+ "+") (number_literal "0x180")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))" (( "(") (parenthesized_expression "(uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5))" (( "(") (binary_expression "uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)" (binary_expression "uVar9 != *(uint *)(this_00 + 0x180)" (identifier "uVar9") (!= "!=") (pointer_expression "*(uint *)(this_00 + 0x180)" (* "*") (cast_expression "(uint *)(this_00 + 0x180)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x180)" (( "(") (binary_expression "this_00 + 0x180" (identifier "this_00") (+ "+") (number_literal "0x180")) () ")"))))) (|| "||") (parenthesized_expression "(uVar4 <= uVar5)" (( "(") (binary_expression "uVar4 <= uVar5" (identifier "uVar4") (<= "<=") (identifier "uVar5")) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(this + 0x24) + 4)" (* "*") (cast_expression "(undefined4 **)(*(int *)(this + 0x24) + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(this + 0x24) + 4)" (( "(") (binary_expression "*(int *)(this + 0x24) + 4" (pointer_expression "*(int *)(this + 0x24)" (* "*") (cast_expression "(int *)(this + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x24)" (( "(") (binary_expression "this + 0x24" (identifier "this") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[7]" (identifier "piVar11") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10" (binary_expression "(uVar4 >> 0x10) << 0x18" (parenthesized_expression "(uVar4 >> 0x10)" (( "(") (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar4 >> 0x18) << 0x10" (parenthesized_expression "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff)" (( "(") (binary_expression "(uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff" (binary_expression "(uVar4 & 0xff) << 8" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar1 = piVar11 + 8;" (assignment_expression "piVar1 = piVar11 + 8" (identifier "piVar1") (= "=") (binary_expression "piVar11 + 8" (identifier "piVar11") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (puVar3 == puVar14) goto LAB_001a083c;" (if "if") (parenthesized_expression "(puVar3 == puVar14)" (( "(") (binary_expression "puVar3 == puVar14" (identifier "puVar3") (== "==") (identifier "puVar14")) () ")")) (goto_statement "goto LAB_001a083c;" (goto "goto") (statement_identifier "LAB_001a083c") (; ";"))) (} "}"))) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(this + 0x24) + 4)" (* "*") (cast_expression "(undefined4 **)(*(int *)(this + 0x24) + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(this + 0x24) + 4)" (( "(") (binary_expression "*(int *)(this + 0x24) + 4" (pointer_expression "*(int *)(this + 0x24)" (* "*") (cast_expression "(int *)(this + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x24)" (( "(") (binary_expression "this + 0x24" (identifier "this") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar11[7]" (identifier "piVar11") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" (( "(") (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" (( "(") (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" (( "(") (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" (( "(") (binary_expression "uVar5 & 0xff" (identifier "uVar5") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar1 = piVar11 + 8;" (assignment_expression "piVar1 = piVar11 + 8" (identifier "piVar1") (= "=") (binary_expression "piVar11 + 8" (identifier "piVar11") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar3 != puVar14)" (( "(") (binary_expression "puVar3 != puVar14" (identifier "puVar3") (!= "!=") (identifier "puVar14")) () ")")) (; ";")) (labeled_statement "LAB_001a083c:\n            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);" (statement_identifier "LAB_001a083c") (: ":") (expression_statement "uVar9 = (int)piVar11 + (0x20 - (int)piVar13);" (assignment_expression "uVar9 = (int)piVar11 + (0x20 - (int)piVar13)" (identifier "uVar9") (= "=") (binary_expression "(int)piVar11 + (0x20 - (int)piVar13)" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (parenthesized_expression "(0x20 - (int)piVar13)" (( "(") (binary_expression "0x20 - (int)piVar13" (number_literal "0x20") (- "-") (cast_expression "(int)piVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar13"))) () ")")))) (; ";"))) (if_statement "if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }" (if "if") (parenthesized_expression "((-1 < (int)uVar9) && (uVar9 == uVar12))" (( "(") (binary_expression "(-1 < (int)uVar9) && (uVar9 == uVar12)" (parenthesized_expression "(-1 < (int)uVar9)" (( "(") (binary_expression "-1 < (int)uVar9" (number_literal "-1") (< "<") (cast_expression "(int)uVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar9"))) () ")")) (&& "&&") (parenthesized_expression "(uVar9 == uVar12)" (( "(") (binary_expression "uVar9 == uVar12" (identifier "uVar9") (== "==") (identifier "uVar12")) () ")"))) () ")")) (compound_statement "{\n              if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }\n              goto LAB_001a08bc;\n            }" ({ "{") (if_statement "if (*(int *)(this + 0x20) << 2 < 0) {\n                return;\n              }" (if "if") (parenthesized_expression "(*(int *)(this + 0x20) << 2 < 0)" (( "(") (binary_expression "*(int *)(this + 0x20) << 2 < 0" (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" (* "*") (cast_expression "(int *)(this + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x20)" (( "(") (binary_expression "this + 0x20" (identifier "this") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                return;\n              }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_001a08bc;" (goto "goto") (statement_identifier "LAB_001a08bc") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar6 = 0x1ab;" (assignment_expression "uVar6 = 0x1ab" (identifier "uVar6") (= "=") (number_literal "0x1ab")) (; ";")) (goto_statement "goto LAB_001a08a4;" (goto "goto") (statement_identifier "LAB_001a08a4") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_00182b60();" (call_expression "FUN_00182b60()" (identifier "FUN_00182b60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar6 = 0x19e;" (assignment_expression "uVar6 = 0x19e" (identifier "uVar6") (= "=") (number_literal "0x19e")) (; ";")) (labeled_statement "LAB_001a08a4:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);" (statement_identifier "LAB_001a08a4") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758)" (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 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x59f0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x59f0")) (, ",") (identifier "uVar6") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7758" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x7758")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* WARNING: Struct "Output_segment_headers": ignoring overlapping field "segment_list_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original name: do_sized_write<32, false>
   DWARF original prototype: void do_sized_write<32,_false>(Output_segment_headers * this,
   Output_file * of) */

void __thiscall
gold::Output_segment_headers::do_sized_write<32,_false>
          (Output_segment_headers *this,type_3 *of)

{
  uint64_t uVar1;
  type_1 oVar2;
  type_1 oVar3;
  type_2 *pEVar4;
  int var_1;
  type_3 *var_13;
  type_4 var_19;
  type_3 *var_14;
  type_2 EVar9;
  type_5 *var_9;
  type_5 *var_35;
  type_5 *extraout_v1;
  type_5 *extraout_v1_00;
  type_4 var_20;
  type_6 *puVar13;
  int extraout_v1_01;
  int extraout_v1_02;
  type_3 *var_16;
  type_7 *var_4;
  int *var_8;
  type_5 uVar17;
  size_t var_11;
  type_4 var_21;
  type_2 EVar20;
  type_3 *var_15;
  type_4 var_26;
  type_7 *var_3;
  type_4 var_34;
  type_8 *var_12;
  type_4 var_32;
  type_9 *pOVar26;
  int *var_27;
  type_2 *var_22;
  type_8 *var_31;
  type_8 *var_33;
  type_8 *var_23;
  type_8 *var_10;
  type_5 *var_29;
  int *piVar34;
  type_2 *pEVar35;
  type_5 *puVar36;
  type_5 *var_28;
  type_10 *var_5;
  int var_36;
  type_7 *var_30;
  type_10 *var_7;
  uint64_t var_18;
  type_10 *pcVar43;
  type_5 in_stack_ffffff34;
  type_5 in_stack_ffffff6c;
  type_7 *puVar44;
  type_5 in_stack_ffffffa4;
  int var_6;
  type_5 in_stack_ffffffdc;
  
  var_36 = 0x43a1d0;
  var_9 = *(type_5 **)&(this->super_Output_data).field_0x24;
  var_1 = *(int *)&(this->super_Output_data).field_0x20;
  var_6 = 0x43a1d0;
  var_28 = (type_5 *)*var_9;
  var_9 = (type_5 *)var_9[1];
  if (-1 < var_1 << 1) {
    var_11 = 0xcf;
    var_4 = var_2 + -0x4fe0;
    var_3 = PTR_do_gold_unreachable_004323c4;
    (*(type_10 *)PTR_do_gold_unreachable_004323c4)(var_4,0xcf,var_2 + 0x7894);
    var_30 = var_3 + 0x2998b8;
    var_28 = (type_5 *)**(type_5 **)(var_4 + 0x24);
    var_9 = (type_5 *)(*(type_5 **)(var_4 + 0x24))[1];
    if (-1 < *(int *)(var_4 + 0x20) << 1) {
      var_11 = 0xcf;
      var_5 = *(type_10 **)(var_3 + 0x291aac);
      var_6 = *(int *)(var_3 + 0x291a9c) + -0x4fe0;
      (*var_5)(var_6,0xcf,*(int *)(var_3 + 0x291a9c) + 0x7894);
      var_7 = var_5 + 0x299684;
      var_15 = (type_3 *)**(type_5 **)(var_6 + 0x24);
      var_16 = (type_3 *)(*(type_5 **)(var_6 + 0x24))[1];
      if (-1 < *(int *)(var_6 + 0x20) << 1) {
        var_11 = 0xcf;
        var_7 = *(type_10 **)(var_5 + 0x291878);
        var_6 = *(int *)(var_5 + 0x291868) + -0x4fe0;
        (*var_7)(var_6,0xcf,*(int *)(var_5 + 0x291868) + 0x7894);
        var_5 = var_7 + 0x299390;
        var_15 = (type_3 *)**(type_5 **)(var_6 + 0x24);
        var_16 = (type_3 *)(*(type_5 **)(var_6 + 0x24))[1];
        if (-1 < *(int *)(var_6 + 0x20) << 1) {
          var_5 = *(type_10 **)(var_7 + 0x291584);
          var_9 = (type_5 *)(*(int *)(var_7 + 0x291574) + -0x4fe0);
          (*var_5)(var_9,0xcf,*(int *)(var_7 + 0x291574) + 0x7894);
          var_8 = (int *)var_9[2];
          while (var_8 != (int *)0x0) {
            var_8 = (int *)*var_8;
            (**(type_10 **)(var_5 + 0x2911d0))();
          }
          (**(type_10 **)(var_5 + 0x295794))(*var_9,0,var_9[1] << 2);
          var_9[3] = 0;
          var_9[2] = 0;
          if ((type_5 *)*var_9 == var_9 + 6) {
            return;
          }
          (**(type_10 **)(var_5 + 0x2911d0))();
          return;
        }
        var_10 = (type_8 *)(((int)var_16 - (int)var_15 >> 2) * 0x38);
        pcVar43 = var_5;
        if (*(int *)(var_6 + 0x10) != 0) goto LAB_001a1098;
        if (*(type_8 **)(var_6 + 0x14) != var_10) goto LAB_001a1098;
        var_13 = *(type_3 **)(var_7 + 0x291574);
        if (-1 < *(int *)(var_6 + 0x20) << 2) goto LAB_001a1060;
        var_1 = *(int *)(var_6 + 0x1c);
        if (*(int *)(var_6 + 0x18) < 0) goto LAB_001a108c;
        var_12 = var_10 + var_1;
        var_13 = *(type_3 **)(var_11 + 8);
        var_14 = (type_3 *)((type_4)(var_12 < var_10) + *(int *)(var_6 + 0x18));
        if ((int)var_13 < (int)var_14) goto LAB_001a108c;
        if (var_13 == var_14) goto LAB_001a1078;
        do {
          pEVar35 = (type_2 *)(*(int *)(var_11 + 0x10) + var_1);
          pEVar4 = pEVar35;
          if (var_15 == var_16) {
            if (var_10 == (type_8 *)0x0) {
              return;
            }
            uVar17 = 0x1ab;
          }
          else {
            do {
              while( true ) {
                var_5 = pcVar43;
                var_16 = var_15;
                var_22 = pEVar4;
                pOVar26 = (type_9 *)var_16->name_;
                EVar9 = *(type_2 *)&pOVar26->offset_;
                EVar20 = pOVar26->type_;
                var_22[3] = (type_2)pOVar26->offset_;
                var_22[2] = EVar9;
                var_18 = pOVar26->vaddr_;
                EVar9 = *(type_2 *)&pOVar26->vaddr_;
                *var_22 = EVar20;
                EVar20 = pOVar26->flags_;
                var_22[5] = (type_2)var_18;
                var_22[4] = EVar9;
                EVar9 = *(type_2 *)&pOVar26->paddr_;
                var_22[7] = (type_2)pOVar26->paddr_;
                var_22[6] = EVar9;
                EVar9 = *(type_2 *)&pOVar26->filesz_;
                var_22[9] = (type_2)pOVar26->filesz_;
                var_22[8] = EVar9;
                var_18 = pOVar26->memsz_;
                EVar9 = *(type_2 *)&pOVar26->memsz_;
                var_22[1] = EVar20;
                var_22[0xb] = (type_2)var_18;
                var_22[10] = EVar9;
                var_18 = type_9::var_17(pOVar26);
                var_19 = (type_4)(var_18 >> 0x20);
                var_20 = *(type_4 *)&pOVar26->min_p_align_;
                var_21 = (type_4)pOVar26->min_p_align_;
                pcVar43 = var_5;
                if ((var_19 <= var_20) && ((var_19 != var_20 || ((type_4)var_18 <= var_21)))) break;
                var_1 = *(int *)(var_6 + 0x24);
                *(uint64_t *)(var_22 + 0xc) = var_18;
                pEVar4 = var_22 + 0xe;
                var_15 = (type_3 *)&var_16->o_;
                if ((int *)*(type_6 **)(var_1 + 4) == &var_16->o_) goto LAB_001a0fdc;
              }
              var_1 = *(int *)(var_6 + 0x24);
              var_22[0xc] = var_20;
              var_22[0xd] = var_21;
              pEVar4 = var_22 + 0xe;
              var_15 = (type_3 *)&var_16->o_;
            } while ((int *)*(type_6 **)(var_1 + 4) != &var_16->o_);
LAB_001a0fdc:
            var_15 = (type_3 *)&var_16->o_;
            var_23 = (type_8 *)((int)var_22 + (0x38 - (int)pEVar35));
            uVar17 = 0x1ab;
            if (-1 < (int)var_23) {
              var_1 = *(int *)(var_5 + -0x7e1c);
              if (var_23 != var_10) goto LAB_001a104c;
              var_13 = *(type_3 **)(var_5 + -0x7e1c);
              if (-1 < *(int *)(var_6 + 0x20) << 2) goto LAB_001a1060;
              return;
            }
          }
          while( true ) {
            var_1 = *(int *)(var_5 + -0x7e1c);
LAB_001a104c:
            var_13 = (type_3 *)(var_1 + 0x7728);
            (**(type_10 **)(var_5 + -0x7e0c))(*(int *)(var_5 + -0x7e1c) + 0x59f0,uVar17);
LAB_001a1060:
            var_11 = 0xe3;
            var_13 = var_13 + 0x501;
            var_16 = (type_3 *)(*(int *)(var_5 + -0x7e1c) + -0x4fe0);
            (**(type_10 **)(var_5 + -0x7e0c))();
            var_1 = extraout_v1_02;
LAB_001a1078:
            var_12 = (type_8 *)(type_4)(*(type_8 **)(var_11 + 0xc) < var_12);
            if (var_12 == (type_8 *)0x0) break;
LAB_001a108c:
            Output_file::var_24(var_16,var_25(pcVar43,in_stack_ffffff34),var_11,var_13);
LAB_001a1098:
            uVar17 = 0x19e;
          }
        } while( true );
      }
      var_10 = (type_8 *)(((int)var_16 - (int)var_15 >> 2) * 0x38);
      pcVar43 = var_7;
      if (*(int *)(var_6 + 0x10) != 0) goto LAB_001a0e1c;
      if (*(type_8 **)(var_6 + 0x14) != var_10) goto LAB_001a0e1c;
      var_13 = *(type_3 **)(var_5 + 0x291868);
      if (-1 < *(int *)(var_6 + 0x20) << 2) goto LAB_001a0de4;
      var_1 = *(int *)(var_6 + 0x1c);
      if (*(int *)(var_6 + 0x18) < 0) goto LAB_001a0e10;
      var_12 = var_10 + var_1;
      var_13 = *(type_3 **)(var_11 + 8);
      var_14 = (type_3 *)((type_4)(var_12 < var_10) + *(int *)(var_6 + 0x18));
      if ((int)var_13 < (int)var_14) goto LAB_001a0e10;
      if (var_13 == var_14) goto LAB_001a0dfc;
      do {
        piVar34 = (int *)(*(int *)(var_11 + 0x10) + var_1);
        var_8 = piVar34;
        if (var_15 == var_16) {
          if (var_10 == (type_8 *)0x0) {
            return;
          }
          uVar17 = 0x1ab;
        }
        else {
          do {
            while( true ) {
              var_7 = pcVar43;
              var_16 = var_15;
              var_27 = var_8;
              pOVar26 = (type_9 *)var_16->name_;
              var_20 = *(type_4 *)&pOVar26->offset_;
              var_19 = (type_4)pOVar26->offset_;
              var_21 = pOVar26->type_;
              var_27[3] = (((var_20 >> 0x10) << 0x18 | (var_20 >> 0x18) << 0x10) >> 0x10) +
                           ((var_20 & 0xff) << 8 | var_20 >> 8 & 0xff) * 0x10000;
              var_27[2] = (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
                           ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000;
              var_20 = *(type_4 *)&pOVar26->vaddr_;
              var_19 = (type_4)pOVar26->vaddr_;
              *var_27 = (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
                         ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
              var_21 = pOVar26->flags_;
              var_27[5] = (((var_20 >> 0x10) << 0x18 | (var_20 >> 0x18) << 0x10) >> 0x10) +
                           ((var_20 & 0xff) << 8 | var_20 >> 8 & 0xff) * 0x10000;
              var_27[4] = (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
                           ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000;
              var_20 = *(type_4 *)&pOVar26->paddr_;
              var_19 = (type_4)pOVar26->paddr_;
              var_27[7] = (((var_20 >> 0x10) << 0x18 | (var_20 >> 0x18) << 0x10) >> 0x10) +
                           ((var_20 & 0xff) << 8 | var_20 >> 8 & 0xff) * 0x10000;
              var_27[6] = (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
                           ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000;
              var_20 = *(type_4 *)&pOVar26->filesz_;
              var_19 = (type_4)pOVar26->filesz_;
              var_27[9] = (((var_20 >> 0x10) << 0x18 | (var_20 >> 0x18) << 0x10) >> 0x10) +
                           ((var_20 & 0xff) << 8 | var_20 >> 8 & 0xff) * 0x10000;
              var_27[8] = (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
                           ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000;
              var_20 = *(type_4 *)&pOVar26->memsz_;
              var_19 = (type_4)pOVar26->memsz_;
              var_27[1] = (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
                           ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
              var_27[0xb] = (((var_20 >> 0x10) << 0x18 | (var_20 >> 0x18) << 0x10) >> 0x10) +
                             ((var_20 & 0xff) << 8 | var_20 >> 8 & 0xff) * 0x10000;
              var_27[10] = (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
                            ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000;
              var_18 = type_9::var_17(pOVar26);
              var_19 = (type_4)(var_18 >> 0x20);
              var_20 = (type_4)var_18;
              var_21 = *(type_4 *)&pOVar26->min_p_align_;
              var_26 = (type_4)pOVar26->min_p_align_;
              pcVar43 = var_7;
              if ((var_19 <= var_21) && ((var_19 != var_21 || (var_20 <= var_26)))) break;
              puVar13 = *(type_6 **)(*(int *)(var_6 + 0x24) + 4);
              var_27[0xc] = (((var_20 >> 0x10) << 0x18 | (var_20 >> 0x18) << 0x10) >> 0x10) +
                             ((int)(var_18 & 0xff000000ff) << 8 | var_20 >> 8 & 0xff) * 0x10000;
              var_27[0xd] = (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
                             ((int)((var_18 & 0xff000000ff) >> 0x20) << 8 | var_19 >> 8 & 0xff) *
                             0x10000;
              var_8 = var_27 + 0xe;
              var_15 = (type_3 *)&var_16->o_;
              if ((int *)puVar13 == &var_16->o_) goto LAB_001a0d60;
            }
            puVar13 = *(type_6 **)(*(int *)(var_6 + 0x24) + 4);
            var_27[0xc] = (((var_26 >> 0x10) << 0x18 | (var_26 >> 0x18) << 0x10) >> 0x10) +
                           ((var_26 & 0xff) << 8 | var_26 >> 8 & 0xff) * 0x10000;
            var_27[0xd] = (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
                           ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
            var_8 = var_27 + 0xe;
            var_15 = (type_3 *)&var_16->o_;
          } while ((int *)puVar13 != &var_16->o_);
LAB_001a0d60:
          var_15 = (type_3 *)&var_16->o_;
          var_23 = (type_8 *)((int)var_27 + (0x38 - (int)piVar34));
          uVar17 = 0x1ab;
          if (-1 < (int)var_23) {
            var_1 = *(int *)(var_7 + -0x7e1c);
            if (var_23 != var_10) goto LAB_001a0dd0;
            var_13 = *(type_3 **)(var_7 + -0x7e1c);
            if (-1 < *(int *)(var_6 + 0x20) << 2) goto LAB_001a0de4;
            return;
          }
        }
        while( true ) {
          var_1 = *(int *)(var_7 + -0x7e1c);
LAB_001a0dd0:
          var_13 = (type_3 *)(var_1 + 0x7738);
          (**(type_10 **)(var_7 + -0x7e0c))(*(int *)(var_7 + -0x7e1c) + 0x59f0,uVar17);
LAB_001a0de4:
          var_11 = 0xe3;
          var_13 = var_13 + 0x501;
          var_16 = (type_3 *)(*(int *)(var_7 + -0x7e1c) + -0x4fe0);
          (**(type_10 **)(var_7 + -0x7e0c))();
          var_1 = extraout_v1_01;
LAB_001a0dfc:
          var_12 = (type_8 *)(type_4)(*(type_8 **)(var_11 + 0xc) < var_12);
          if (var_12 == (type_8 *)0x0) break;
LAB_001a0e10:
          Output_file::var_24(var_16,var_25(pcVar43,in_stack_ffffff6c),var_11,var_13);
LAB_001a0e1c:
          uVar17 = 0x19e;
        }
      } while( true );
    }
    var_10 = (type_8 *)((int)var_9 - (int)var_28 >> 2);
    puVar44 = var_30;
    if (*(int *)(var_4 + 0x10) != 0) goto LAB_001a0b28;
    var_10 = (type_8 *)((int)var_10 * 0x20);
    if (*(type_8 **)(var_4 + 0x14) != var_10) goto LAB_001a0b28;
    var_15 = *(type_3 **)(var_3 + 0x291a9c);
    if (-1 < *(int *)(var_4 + 0x20) << 2) goto LAB_001a0af0;
    var_16 = *(type_3 **)(var_4 + 0x1c);
    if (*(int *)(var_4 + 0x18) < 0) goto LAB_001a0b1c;
    var_12 = var_10 + (int)var_16;
    var_15 = *(type_3 **)(var_11 + 8);
    var_13 = (type_3 *)((type_4)(var_12 < var_10) + *(int *)(var_4 + 0x18));
    if ((int)var_15 < (int)var_13) goto LAB_001a0b1c;
    if (var_15 == var_13) goto LAB_001a0b08;
    do {
      puVar36 = (type_5 *)((int)&var_16->name_ + *(int *)(var_11 + 0x10));
      var_35 = puVar36;
      if (var_28 == var_9) {
        if (var_10 == (type_8 *)0x0) {
          return;
        }
      }
      else {
        do {
          while( true ) {
            var_30 = puVar44;
            var_29 = var_28;
            var_9 = var_35;
            pOVar26 = (type_9 *)*var_29;
            var_18 = pOVar26->paddr_;
            uVar1 = pOVar26->memsz_;
            var_12 = (type_8 *)pOVar26->type_;
            oVar2 = pOVar26->offset_;
            oVar3 = pOVar26->filesz_;
            var_9[2] = (int)pOVar26->vaddr_;
            var_9[3] = (int)var_18;
            *var_9 = var_12;
            var_9[1] = (int)oVar2;
            var_9[4] = (int)oVar3;
            var_9[5] = (int)uVar1;
            var_9[6] = pOVar26->flags_;
            var_18 = type_9::var_17(pOVar26);
            var_19 = (type_4)(var_18 >> 0x20);
            var_20 = (type_4)pOVar26->min_p_align_;
            puVar44 = var_30;
            if ((var_19 <= *(type_4 *)&pOVar26->min_p_align_) &&
               ((var_19 != *(type_4 *)&pOVar26->min_p_align_ || ((type_4)var_18 <= var_20)))) break;
            var_6 = *(int *)(var_4 + 0x24);
            var_9[7] = (type_4)var_18;
            var_35 = var_9 + 8;
            var_28 = var_29 + 1;
            if (*(type_5 **)(var_6 + 4) == var_29 + 1) goto LAB_001a0a70;
          }
          var_6 = *(int *)(var_4 + 0x24);
          var_9[7] = var_20;
          var_35 = var_9 + 8;
          var_28 = var_29 + 1;
        } while (*(type_5 **)(var_6 + 4) != var_29 + 1);
LAB_001a0a70:
        var_28 = var_29 + 1;
        var_23 = (type_8 *)((int)var_9 + (0x20 - (int)puVar36));
        if ((-1 < (int)var_23) && (var_23 == var_10)) {
          var_15 = *(type_3 **)(var_30 + -0x7e1c);
          if (-1 < *(int *)(var_4 + 0x20) << 2) goto LAB_001a0af0;
          return;
        }
      }
      uVar17 = 0x1ab;
      while( true ) {
        var_15 = (type_3 *)(*(int *)(var_30 + -0x7e1c) + 0x7748);
        (**(type_10 **)(var_30 + -0x7e0c))(*(int *)(var_30 + -0x7e1c) + 0x59f0,uVar17);
LAB_001a0af0:
        var_11 = 0xe3;
        var_15 = var_15 + 0x501;
        var_16 = (type_3 *)(*(int *)(var_30 + -0x7e1c) + -0x4fe0);
        (**(type_10 **)(var_30 + -0x7e0c))();
        var_9 = extraout_v1_00;
LAB_001a0b08:
        var_12 = (type_8 *)(type_4)(*(type_8 **)(var_11 + 0xc) < var_12);
        if (var_12 == (type_8 *)0x0) break;
LAB_001a0b1c:
        Output_file::var_24(var_16,var_25(puVar44,in_stack_ffffffa4),var_11,var_15);
LAB_001a0b28:
        uVar17 = 0x19e;
      }
    } while( true );
  }
  var_10 = (type_8 *)((int)var_9 - (int)var_28 >> 2);
  if (*(int *)&(this->super_Output_data).data_size_ != 0) goto LAB_001a08f4;
  var_10 = (type_8 *)((int)var_10 * 0x20);
  if (*(type_8 **)((int)&(this->super_Output_data).data_size_ + 4) != var_10) goto LAB_001a08f4;
  var_3 = var_2;
  if (-1 < var_1 << 2) goto LAB_001a08bc;
  var_1 = *(int *)&(this->super_Output_data).offset_;
  var_16 = *(type_3 **)((int)&(this->super_Output_data).offset_ + 4);
  var_15 = (type_3 *)var_2;
  if (var_1 < 0) goto LAB_001a08e8;
  var_12 = var_10 + (int)var_16;
  var_15 = *(type_3 **)&of->file_size_;
  var_13 = (type_3 *)((type_4)(var_12 < var_10) + var_1);
  if ((int)var_15 < (int)var_13) goto LAB_001a08e8;
  if (var_15 == var_13) goto LAB_001a08d4;
  do {
    var_31 = of->base_;
    var_23 = var_31 + (int)var_16;
    if (var_28 == var_9) {
      if (var_10 == (type_8 *)0x0) {
        return;
      }
    }
    else {
      do {
        while( true ) {
          var_36 = var_6;
          var_9 = var_28;
          var_33 = var_23;
          pOVar26 = (type_9 *)*var_9;
          var_32 = pOVar26->type_;
          var_34 = (type_4)pOVar26->offset_;
          var_26 = (type_4)pOVar26->vaddr_;
          var_21 = (type_4)pOVar26->paddr_;
          var_20 = (type_4)pOVar26->filesz_;
          var_19 = (type_4)pOVar26->memsz_;
          var_12 = (type_8 *)((((var_32 >> 0x10) << 0x18 | (var_32 >> 0x18) << 0x10) >> 0x10) +
                           ((var_32 & 0xff) << 8 | var_32 >> 8 & 0xff) * 0x10000);
          *(type_4 *)(var_33 + 8) =
               (((var_26 >> 0x10) << 0x18 | (var_26 >> 0x18) << 0x10) >> 0x10) +
               ((var_26 & 0xff) << 8 | var_26 >> 8 & 0xff) * 0x10000;
          *(type_4 *)(var_33 + 0xc) =
               (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
               ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
          *(type_8 **)var_33 = var_12;
          *(type_4 *)(var_33 + 4) =
               (((var_34 >> 0x10) << 0x18 | (var_34 >> 0x18) << 0x10) >> 0x10) +
               ((var_34 & 0xff) << 8 | var_34 >> 8 & 0xff) * 0x10000;
          *(type_4 *)(var_33 + 0x10) =
               (((var_20 >> 0x10) << 0x18 | (var_20 >> 0x18) << 0x10) >> 0x10) +
               ((var_20 & 0xff) << 8 | var_20 >> 8 & 0xff) * 0x10000;
          *(type_4 *)(var_33 + 0x14) =
               (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
               ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000;
          var_19 = pOVar26->flags_;
          *(type_4 *)(var_33 + 0x18) =
               (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
               ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000;
          var_18 = type_9::var_17(pOVar26);
          var_19 = (type_4)(var_18 >> 0x20);
          var_20 = (type_4)var_18;
          var_21 = (type_4)pOVar26->min_p_align_;
          var_6 = var_36;
          if ((var_19 <= *(type_4 *)&pOVar26->min_p_align_) &&
             ((var_19 != *(type_4 *)&pOVar26->min_p_align_ || (var_20 <= var_21)))) break;
          var_35 = *(type_5 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);
          *(type_4 *)(var_33 + 0x1c) =
               (((var_20 >> 0x10) << 0x18 | (var_20 >> 0x18) << 0x10) >> 0x10) +
               ((var_20 & 0xff) << 8 | var_20 >> 8 & 0xff) * 0x10000;
          var_23 = var_33 + 0x20;
          var_28 = var_9 + 1;
          if (var_35 == var_9 + 1) goto LAB_001a083c;
        }
        var_35 = *(type_5 **)(*(int *)&(this->super_Output_data).field_0x24 + 4);
        *(type_4 *)(var_33 + 0x1c) =
             (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
             ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
        var_23 = var_33 + 0x20;
        var_28 = var_9 + 1;
      } while (var_35 != var_9 + 1);
LAB_001a083c:
      var_28 = var_9 + 1;
      if ((-1 < (int)(var_33 + (0x20 - (int)(var_31 + (int)var_16)))) &&
         (var_33 + (0x20 - (int)(var_31 + (int)var_16)) == var_10)) {
        var_3 = *(type_7 **)(var_36 + -0x7e1c);
        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_001a08bc;
        return;
      }
    }
    uVar17 = 0x1ab;
    while( true ) {
      var_3 = (type_7 *)(*(int *)(var_36 + -0x7e1c) + 0x7758);
      (**(type_10 **)(var_36 + -0x7e0c))(*(int *)(var_36 + -0x7e1c) + 0x59f0,uVar17);
LAB_001a08bc:
      of = (type_3 *)0xe3;
      var_15 = (type_3 *)(var_3 + 0x7818);
      var_16 = (type_3 *)(*(int *)(var_36 + -0x7e1c) + -0x4fe0);
      (**(type_10 **)(var_36 + -0x7e0c))();
      var_9 = extraout_v1;
LAB_001a08d4:
      var_12 = (type_8 *)(type_4)(*(type_8 **)((int)&of->file_size_ + 4) < var_12);
      if (var_12 == (type_8 *)0x0) break;
LAB_001a08e8:
      Output_file::var_24(var_16,var_25(var_6,in_stack_ffffffdc),(size_t)of,var_15);
LAB_001a08f4:
      uVar17 = 0x19e;
    }
  } while( true );
}


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

/* void gold::Output_segment_headers::do_sized_write<32, false>(gold::Output_file*) */

void __thiscall
gold::Output_segment_headers::MASKED
          (Output_segment_headers *this,Output_file *param_1)

{
  int *piVar1;
  int iVar2;
  undefined4 *puVar3;
  uint uVar4;
  uint uVar5;
  undefined4 uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  Output_segment *this_00;
  int *piVar11;
  uint uVar12;
  int *piVar13;
  undefined4 *puVar14;
  undefined8 uVar15;
  
  puVar14 = (undefined4 *)**(undefined4 **)(this + 0x24);
  puVar3 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];
  if (-1 < *(int *)(this + 0x20) << 1) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);
    return;
  }
  if (*(int *)(this + 0x10) == 0) {
    uVar12 = ((int)puVar3 - (int)puVar14 >> 2) * 0x20;
    if (*(uint *)(this + 0x14) == uVar12) {
      if (-1 < *(int *)(this + 0x20) << 2) {
LAB_001a08bc:
        (*(code *)PTR_do_gold_unreachable_004323c4)
                  (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);
        return;
      }
      if (-1 < *(int *)(this + 0x18)) {
        uVar9 = uVar12 + *(int *)(this + 0x1c);
        iVar2 = (uint)(uVar9 < uVar12) + *(int *)(this + 0x18);
        if ((iVar2 <= *(int *)(param_1 + 8)) &&
           ((*(int *)(param_1 + 8) != iVar2 || (uVar9 <= *(uint *)(param_1 + 0xc))))) {
          piVar13 = (int *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));
          piVar1 = piVar13;
          if (puVar14 == puVar3) {
            if (uVar12 == 0) {
              return;
            }
          }
          else {
            do {
              while( true ) {
                piVar11 = piVar1;
                this_00 = (Output_segment *)*puVar14;
                uVar10 = *(uint *)(this_00 + 0x198);
                uVar8 = *(uint *)(this_00 + 0x18c);
                uVar7 = *(uint *)(this_00 + 0x164);
                uVar5 = *(uint *)(this_00 + 0x16c);
                uVar4 = *(uint *)(this_00 + 0x194);
                uVar9 = *(uint *)(this_00 + 0x174);
                piVar11[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
                piVar11[3] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
                *piVar11 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;
                piVar11[1] = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
                piVar11[4] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;
                piVar11[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
                uVar9 = *(uint *)(this_00 + 0x19c);
                piVar11[6] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
                uVar15 = Output_segment::maximum_alignment(this_00);
                uVar9 = (uint)((ulonglong)uVar15 >> 0x20);
                uVar4 = (uint)uVar15;
                uVar5 = *(uint *)(this_00 + 0x184);
                if ((uVar9 <= *(uint *)(this_00 + 0x180)) &&
                   ((uVar9 != *(uint *)(this_00 + 0x180) || (uVar4 <= uVar5)))) break;
                puVar14 = puVar14 + 1;
                puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);
                piVar11[7] = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;
                piVar1 = piVar11 + 8;
                if (puVar3 == puVar14) goto LAB_001a083c;
              }
              puVar14 = puVar14 + 1;
              puVar3 = *(undefined4 **)(*(int *)(this + 0x24) + 4);
              piVar11[7] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
              piVar1 = piVar11 + 8;
            } while (puVar3 != puVar14);
LAB_001a083c:
            uVar9 = (int)piVar11 + (0x20 - (int)piVar13);
            if ((-1 < (int)uVar9) && (uVar9 == uVar12)) {
              if (*(int *)(this + 0x20) << 2 < 0) {
                return;
              }
              goto LAB_001a08bc;
            }
          }
          uVar6 = 0x1ab;
          goto LAB_001a08a4;
        }
      }
      FUN_00182b60();
    }
  }
  uVar6 = 0x19e;
LAB_001a08a4:
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar6,PTR_s_alize_xindex_004323b4 + 0x7758);
  return;
}

