
/* 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, true>
   DWARF original prototype: void do_sized_write<32,_true>(Output_segment_headers * this,
   Output_file * of) */

void __thiscall
gold::Output_segment_headers::do_sized_write<32,_true>(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 *extraout_v1;
  uint uVar11;
  undefined1 *puVar12;
  int extraout_v1_00;
  int extraout_v1_01;
  Output_file *pOVar13;
  undefined *puVar14;
  int *piVar15;
  undefined4 uVar16;
  size_t sVar17;
  uint uVar18;
  uint uVar19;
  Elf_Word EVar20;
  Output_file *pOVar21;
  undefined *puVar22;
  uchar *in_t0;
  Output_segment *pOVar23;
  int *piVar24;
  uchar *puVar25;
  Elf_Word *pEVar26;
  uchar *puVar27;
  uchar *puVar28;
  undefined4 *puVar29;
  uchar *puVar30;
  int *piVar31;
  Elf_Word *pEVar32;
  code *pcVar33;
  int iVar34;
  undefined *puVar35;
  code *pcVar36;
  uint64_t uVar37;
  code *pcVar38;
  undefined4 in_stack_ffffff6c;
  undefined *puVar39;
  undefined4 in_stack_ffffffa4;
  int iVar40;
  undefined4 in_stack_ffffffdc;
  
  iVar34 = 0x4c9240;
  puVar10 = *(undefined4 **)&(this->super_Output_data).field_0x24;
  iVar5 = *(int *)&(this->super_Output_data).field_0x20;
  iVar40 = 0x4c9240;
  puVar29 = (undefined4 *)*puVar10;
  puVar10 = (undefined4 *)puVar10[1];
  if (-1 < iVar5 << 1) {
    sVar17 = 0xcf;
    puVar14 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
    puVar22 = PTR_do_gold_unreachable_004c1a30;
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (puVar14,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);
    puVar35 = puVar22 + 0x299170;
    pOVar21 = (Output_file *)**(undefined4 **)(puVar14 + 0x24);
    pOVar13 = (Output_file *)(*(undefined4 **)(puVar14 + 0x24))[1];
    if (-1 < *(int *)(puVar14 + 0x20) << 1) {
      sVar17 = 0xcf;
      pcVar33 = *(code **)(puVar22 + 0x291960);
      iVar40 = *(int *)(puVar22 + 0x2911ac) + 0x3574;
      (*pcVar33)(iVar40,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);
      pcVar36 = pcVar33 + 0x298e7c;
      pOVar21 = (Output_file *)**(undefined4 **)(iVar40 + 0x24);
      pOVar13 = (Output_file *)(*(undefined4 **)(iVar40 + 0x24))[1];
      if (-1 < *(int *)(iVar40 + 0x20) << 1) {
        pcVar36 = *(code **)(pcVar33 + 0x29166c);
        puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574);
        (*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc);
        piVar15 = (int *)puVar10[2];
        while (piVar15 != (int *)0x0) {
          piVar15 = (int *)*piVar15;
          (**(code **)(pcVar36 + 0x290cbc))();
        }
        (**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2);
        puVar10[3] = 0;
        puVar10[2] = 0;
        if ((undefined4 *)*puVar10 == puVar10 + 6) {
          return;
        }
                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (**(code **)(pcVar36 + 0x290cbc))();
        return;
      }
      puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);
      pcVar38 = pcVar36;
      if (*(int *)(iVar40 + 0x10) != 0) goto LAB_0023061c;
      if (*(uchar **)(iVar40 + 0x14) != puVar30) goto LAB_0023061c;
      pOVar6 = *(Output_file **)(pcVar33 + 0x291558);
      if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;
      iVar5 = *(int *)(iVar40 + 0x1c);
      if (*(int *)(iVar40 + 0x18) < 0) goto LAB_00230610;
      in_t0 = puVar30 + iVar5;
      pOVar6 = *(Output_file **)(sVar17 + 8);
      pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18));
      if ((int)pOVar6 < (int)pOVar8) goto LAB_00230610;
      if (pOVar6 == pOVar8) goto LAB_002305fc;
      do {
        pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5);
        pEVar4 = pEVar32;
        if (pOVar21 == pOVar13) {
          if (puVar30 == (uchar *)0x0) {
            return;
          }
          uVar16 = 0x1ab;
        }
        else {
          do {
            while( true ) {
              pcVar36 = pcVar38;
              pOVar13 = pOVar21;
              pEVar26 = pEVar4;
              pOVar23 = (Output_segment *)pOVar13->name_;
              EVar9 = *(Elf_Word *)&pOVar23->offset_;
              EVar20 = pOVar23->type_;
              pEVar26[3] = (Elf_Word)pOVar23->offset_;
              pEVar26[2] = EVar9;
              uVar37 = pOVar23->vaddr_;
              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;
              *pEVar26 = EVar20;
              EVar20 = pOVar23->flags_;
              pEVar26[5] = (Elf_Word)uVar37;
              pEVar26[4] = EVar9;
              EVar9 = *(Elf_Word *)&pOVar23->paddr_;
              pEVar26[7] = (Elf_Word)pOVar23->paddr_;
              pEVar26[6] = EVar9;
              EVar9 = *(Elf_Word *)&pOVar23->filesz_;
              pEVar26[9] = (Elf_Word)pOVar23->filesz_;
              pEVar26[8] = EVar9;
              uVar37 = pOVar23->memsz_;
              EVar9 = *(Elf_Word *)&pOVar23->memsz_;
              pEVar26[1] = EVar20;
              pEVar26[0xb] = (Elf_Word)uVar37;
              pEVar26[10] = EVar9;
              uVar37 = Output_segment::maximum_alignment(pOVar23);
              uVar7 = (uint)(uVar37 >> 0x20);
              uVar11 = *(uint *)&pOVar23->min_p_align_;
              uVar18 = (uint)pOVar23->min_p_align_;
              pcVar38 = pcVar36;
              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;
              iVar5 = *(int *)(iVar40 + 0x24);
              *(uint64_t *)(pEVar26 + 0xc) = uVar37;
              pEVar4 = pEVar26 + 0xe;
              pOVar21 = (Output_file *)&pOVar13->o_;
              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;
            }
            iVar5 = *(int *)(iVar40 + 0x24);
            pEVar26[0xc] = uVar11;
            pEVar26[0xd] = uVar18;
            pEVar4 = pEVar26 + 0xe;
            pOVar21 = (Output_file *)&pOVar13->o_;
          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);
LAB_00230560:
          pOVar21 = (Output_file *)&pOVar13->o_;
          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));
          uVar16 = 0x1ab;
          if (-1 < (int)puVar25) {
            iVar5 = *(int *)(pcVar36 + -0x7924);
            if (puVar25 != puVar30) goto LAB_002305d0;
            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);
            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;
            return;
          }
        }
        while( true ) {
          iVar5 = *(int *)(pcVar36 + -0x7924);
LAB_002305d0:
          pOVar6 = (Output_file *)(iVar5 + -0x2b68);
          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);
LAB_002305e4:
          sVar17 = 0xe3;
          pOVar6 = pOVar6 + -0x1c5;
          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);
          (**(code **)(pcVar36 + -0x7810))();
          iVar5 = extraout_v1_01;
LAB_002305fc:
          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);
          if (in_t0 == (uchar *)0x0) break;
LAB_00230610:
          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);
LAB_0023061c:
          uVar16 = 0x19e;
        }
      } while( true );
    }
    puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);
    puVar39 = puVar35;
    if (*(int *)(puVar14 + 0x10) != 0) goto LAB_002303a0;
    if (*(uchar **)(puVar14 + 0x14) != puVar30) goto LAB_002303a0;
    pOVar6 = *(Output_file **)(puVar22 + 0x29184c);
    if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;
    iVar40 = *(int *)(puVar14 + 0x1c);
    if (*(int *)(puVar14 + 0x18) < 0) goto LAB_00230394;
    in_t0 = puVar30 + iVar40;
    pOVar6 = *(Output_file **)(sVar17 + 8);
    pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(puVar14 + 0x18));
    if ((int)pOVar6 < (int)pOVar8) goto LAB_00230394;
    if (pOVar6 == pOVar8) goto LAB_00230380;
    do {
      piVar31 = (int *)(*(int *)(sVar17 + 0x10) + iVar40);
      piVar15 = piVar31;
      if (pOVar21 == pOVar13) {
        if (puVar30 == (uchar *)0x0) {
          return;
        }
        uVar16 = 0x1ab;
      }
      else {
        do {
          while( true ) {
            puVar35 = puVar39;
            pOVar13 = pOVar21;
            piVar24 = piVar15;
            pOVar23 = (Output_segment *)pOVar13->name_;
            uVar11 = *(uint *)&pOVar23->offset_;
            uVar7 = (uint)pOVar23->offset_;
            uVar18 = pOVar23->type_;
            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
            uVar11 = *(uint *)&pOVar23->vaddr_;
            uVar7 = (uint)pOVar23->vaddr_;
            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
            uVar18 = pOVar23->flags_;
            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
            uVar11 = *(uint *)&pOVar23->paddr_;
            uVar7 = (uint)pOVar23->paddr_;
            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
            uVar11 = *(uint *)&pOVar23->filesz_;
            uVar7 = (uint)pOVar23->filesz_;
            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
            uVar11 = *(uint *)&pOVar23->memsz_;
            uVar7 = (uint)pOVar23->memsz_;
            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
            uVar37 = Output_segment::maximum_alignment(pOVar23);
            uVar7 = (uint)(uVar37 >> 0x20);
            uVar11 = (uint)uVar37;
            uVar18 = *(uint *)&pOVar23->min_p_align_;
            uVar19 = (uint)pOVar23->min_p_align_;
            puVar39 = puVar35;
            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;
            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);
            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *
                           0x10000;
            piVar15 = piVar24 + 0xe;
            pOVar21 = (Output_file *)&pOVar13->o_;
            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;
          }
          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);
          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;
          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
          piVar15 = piVar24 + 0xe;
          pOVar21 = (Output_file *)&pOVar13->o_;
        } while ((int *)puVar12 != &pOVar13->o_);
LAB_002302e4:
        pOVar21 = (Output_file *)&pOVar13->o_;
        puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));
        uVar16 = 0x1ab;
        if (-1 < (int)puVar25) {
          iVar40 = *(int *)(puVar35 + -0x7924);
          if (puVar25 != puVar30) goto LAB_00230354;
          pOVar6 = *(Output_file **)(puVar35 + -0x7924);
          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;
          return;
        }
      }
      while( true ) {
        iVar40 = *(int *)(puVar35 + -0x7924);
LAB_00230354:
        pOVar6 = (Output_file *)(iVar40 + -0x2b58);
        (**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16);
LAB_00230368:
        sVar17 = 0xe3;
        pOVar6 = pOVar6 + -0x1c5;
        pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574);
        (**(code **)(puVar35 + -0x7810))();
        iVar40 = extraout_v1_00;
LAB_00230380:
        in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);
        if (in_t0 == (uchar *)0x0) break;
LAB_00230394:
        Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);
LAB_002303a0:
        uVar16 = 0x19e;
      }
    } while( true );
  }
  puVar30 = (uchar *)((int)puVar10 - (int)puVar29 >> 2);
  if (*(int *)&(this->super_Output_data).data_size_ != 0) goto LAB_002300ac;
  puVar30 = (uchar *)((int)puVar30 * 0x20);
  if (*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar30) goto LAB_002300ac;
  puVar22 = PTR_s_in_a_linker_script_004c191c;
  if (-1 < iVar5 << 2) goto LAB_00230074;
  iVar5 = *(int *)&(this->super_Output_data).offset_;
  pOVar13 = *(Output_file **)((int)&(this->super_Output_data).offset_ + 4);
  pOVar21 = (Output_file *)PTR_s_in_a_linker_script_004c191c;
  if (iVar5 < 0) goto LAB_002300a0;
  in_t0 = puVar30 + (int)pOVar13;
  pOVar21 = *(Output_file **)&of->file_size_;
  pOVar6 = (Output_file *)((uint)(in_t0 < puVar30) + iVar5);
  if ((int)pOVar21 < (int)pOVar6) goto LAB_002300a0;
  if (pOVar21 == pOVar6) goto LAB_0023008c;
  do {
    puVar27 = of->base_;
    puVar25 = puVar27 + (int)pOVar13;
    if (puVar29 == puVar10) {
      if (puVar30 == (uchar *)0x0) {
        return;
      }
    }
    else {
      do {
        while( true ) {
          iVar34 = iVar40;
          puVar10 = puVar29;
          puVar28 = puVar25;
          pOVar23 = (Output_segment *)*puVar10;
          uVar37 = pOVar23->paddr_;
          uVar1 = pOVar23->memsz_;
          in_t0 = (uchar *)pOVar23->type_;
          oVar2 = pOVar23->offset_;
          oVar3 = pOVar23->filesz_;
          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;
          *(int *)(puVar28 + 0xc) = (int)uVar37;
          *(uchar **)puVar28 = in_t0;
          *(int *)(puVar28 + 4) = (int)oVar2;
          *(int *)(puVar28 + 0x10) = (int)oVar3;
          *(int *)(puVar28 + 0x14) = (int)uVar1;
          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;
          uVar37 = Output_segment::maximum_alignment(pOVar23);
          uVar7 = (uint)(uVar37 >> 0x20);
          uVar11 = (uint)pOVar23->min_p_align_;
          iVar40 = iVar34;
          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&
             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;
          iVar5 = *(int *)&(this->super_Output_data).field_0x24;
          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;
          puVar25 = puVar28 + 0x20;
          puVar29 = puVar10 + 1;
          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;
        }
        iVar5 = *(int *)&(this->super_Output_data).field_0x24;
        *(uint *)(puVar28 + 0x1c) = uVar11;
        puVar25 = puVar28 + 0x20;
        puVar29 = puVar10 + 1;
      } while (*(undefined4 **)(iVar5 + 4) != puVar10 + 1);
LAB_0022fff4:
      puVar29 = puVar10 + 1;
      if ((-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&
         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)) {
        puVar22 = *(undefined **)(iVar34 + -0x7924);
        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;
        return;
      }
    }
    uVar16 = 0x1ab;
    while( true ) {
      puVar22 = (undefined *)(*(int *)(iVar34 + -0x7924) + -0x2b48);
      (**(code **)(iVar34 + -0x7810))(*(int *)(iVar34 + -0x7924) + -0x48b4,uVar16);
LAB_00230074:
      of = (Output_file *)0xe3;
      pOVar21 = (Output_file *)(puVar22 + -0x2a78);
      pOVar13 = (Output_file *)(*(int *)(iVar34 + -0x7fc4) + 0x3574);
      (**(code **)(iVar34 + -0x7810))();
      puVar10 = extraout_v1;
LAB_0023008c:
      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);
      if (in_t0 == (uchar *)0x0) break;
LAB_002300a0:
      Output_file::get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21);
LAB_002300ac:
      uVar16 = 0x19e;
    }
  } while( true );
}



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

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

{
  int iVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  undefined4 *puVar7;
  undefined4 uVar8;
  undefined4 *extraout_v1;
  uint uVar9;
  undefined4 *puVar10;
  int extraout_v1_00;
  int extraout_v1_01;
  undefined *puVar11;
  int *piVar12;
  undefined4 uVar13;
  uint uVar14;
  uint uVar15;
  undefined4 uVar16;
  undefined *in_t0;
  Output_segment *pOVar17;
  int *piVar18;
  undefined *puVar19;
  undefined *puVar20;
  undefined4 *puVar21;
  undefined *puVar22;
  int *piVar23;
  undefined4 *puVar24;
  undefined4 *puVar25;
  code *pcVar26;
  code *pcVar27;
  undefined8 uVar28;
  ulonglong uVar29;
  
  puVar21 = (undefined4 *)**(undefined4 **)(this + 0x24);
  puVar7 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];
  if (-1 < *(int *)(this + 0x20) << 1) {
    iVar1 = 0xcf;
    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
    puVar22 = PTR_do_gold_unreachable_004c1a30;
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);
    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);
    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];
    if (-1 < *(int *)(puVar20 + 0x20) << 1) {
      iVar3 = 0xcf;
      pcVar26 = *(code **)(puVar22 + 0x291960);
      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;
      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);
      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);
      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];
      if (-1 < *(int *)(iVar1 + 0x20) << 1) {
        pcVar27 = *(code **)(pcVar26 + 0x29166c);
        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);
        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);
        piVar12 = (int *)puVar7[2];
        while (piVar12 != (int *)0x0) {
          piVar12 = (int *)*piVar12;
          (**(code **)(pcVar27 + 0x290cbc))();
        }
        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);
        puVar7[3] = 0;
        puVar7[2] = 0;
        if ((undefined4 *)*puVar7 == puVar7 + 6) {
          return;
        }
                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (**(code **)(pcVar27 + 0x290cbc))();
        return;
      }
      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);
      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;
      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;
      iVar4 = *(int *)(pcVar26 + 0x291558);
      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;
      iVar4 = *(int *)(iVar1 + 0x1c);
      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;
      in_t0 = puVar22 + iVar4;
      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);
      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;
      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;
      do {
        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);
        puVar10 = puVar24;
        if (puVar7 == puVar21) {
          if (puVar22 == (undefined *)0x0) {
            return;
          }
          uVar2 = 0x1ab;
        }
        else {
          do {
            while( true ) {
              puVar25 = puVar7;
              puVar21 = puVar10;
              pOVar17 = (Output_segment *)*puVar25;
              uVar2 = *(undefined4 *)(pOVar17 + 0x188);
              uVar13 = *(undefined4 *)(pOVar17 + 0x198);
              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);
              puVar21[2] = uVar2;
              uVar8 = *(undefined4 *)(pOVar17 + 0x164);
              uVar2 = *(undefined4 *)(pOVar17 + 0x160);
              *puVar21 = uVar13;
              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);
              puVar21[5] = uVar8;
              puVar21[4] = uVar2;
              uVar2 = *(undefined4 *)(pOVar17 + 0x168);
              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);
              puVar21[6] = uVar2;
              uVar2 = *(undefined4 *)(pOVar17 + 400);
              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);
              puVar21[8] = uVar2;
              uVar8 = *(undefined4 *)(pOVar17 + 0x174);
              uVar2 = *(undefined4 *)(pOVar17 + 0x170);
              puVar21[1] = uVar13;
              puVar21[0xb] = uVar8;
              puVar21[10] = uVar2;
              uVar28 = Output_segment::maximum_alignment(pOVar17);
              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);
              uVar9 = *(uint *)(pOVar17 + 0x180);
              uVar14 = *(uint *)(pOVar17 + 0x184);
              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;
              iVar3 = *(int *)(iVar1 + 0x24);
              *(undefined8 *)(puVar21 + 0xc) = uVar28;
              puVar10 = puVar21 + 0xe;
              puVar7 = puVar25 + 1;
              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;
            }
            iVar3 = *(int *)(iVar1 + 0x24);
            puVar21[0xc] = uVar9;
            puVar21[0xd] = uVar14;
            puVar10 = puVar21 + 0xe;
            puVar7 = puVar25 + 1;
          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);
LAB_00230560:
          puVar7 = puVar25 + 1;
          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));
          uVar2 = 0x1ab;
          if (-1 < (int)puVar20) {
            iVar4 = *(int *)(pcVar26 + 0x291558);
            if (puVar20 != puVar22) goto LAB_002305d0;
            iVar4 = *(int *)(pcVar26 + 0x291558);
            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;
            return;
          }
        }
        while( true ) {
          iVar4 = *(int *)(pcVar26 + 0x291558);
LAB_002305d0:
          iVar4 = iVar4 + -0x2b68;
          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);
LAB_002305e4:
          iVar3 = 0xe3;
          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);
          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);
          iVar4 = extraout_v1_01;
LAB_002305fc:
          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);
          if (in_t0 == (undefined *)0x0) break;
LAB_00230610:
          FUN_00212d10();
LAB_0023061c:
          uVar2 = 0x19e;
        }
      } while( true );
    }
    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);
    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;
    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;
    iVar3 = *(int *)(puVar22 + 0x29184c);
    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;
    iVar3 = *(int *)(puVar20 + 0x1c);
    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;
    in_t0 = puVar11 + iVar3;
    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);
    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;
    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;
    do {
      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);
      piVar12 = piVar23;
      if (puVar7 == puVar21) {
        if (puVar11 == (undefined *)0x0) {
          return;
        }
        uVar2 = 0x1ab;
      }
      else {
        do {
          while( true ) {
            puVar21 = puVar7;
            piVar18 = piVar12;
            pOVar17 = (Output_segment *)*puVar21;
            uVar9 = *(uint *)(pOVar17 + 0x188);
            uVar5 = *(uint *)(pOVar17 + 0x18c);
            uVar14 = *(uint *)(pOVar17 + 0x198);
            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar9 = *(uint *)(pOVar17 + 0x160);
            uVar5 = *(uint *)(pOVar17 + 0x164);
            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;
            uVar14 = *(uint *)(pOVar17 + 0x19c);
            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar9 = *(uint *)(pOVar17 + 0x168);
            uVar5 = *(uint *)(pOVar17 + 0x16c);
            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar9 = *(uint *)(pOVar17 + 400);
            uVar5 = *(uint *)(pOVar17 + 0x194);
            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar9 = *(uint *)(pOVar17 + 0x170);
            uVar5 = *(uint *)(pOVar17 + 0x174);
            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;
            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar29 = Output_segment::maximum_alignment(pOVar17);
            uVar5 = (uint)(uVar29 >> 0x20);
            uVar9 = (uint)uVar29;
            uVar14 = *(uint *)(pOVar17 + 0x180);
            uVar15 = *(uint *)(pOVar17 + 0x184);
            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;
            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);
            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *
                           0x10000;
            piVar12 = piVar18 + 0xe;
            puVar7 = puVar21 + 1;
            if (puVar10 == puVar21 + 1) goto LAB_002302e4;
          }
          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);
          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;
          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;
          piVar12 = piVar18 + 0xe;
          puVar7 = puVar21 + 1;
        } while (puVar10 != puVar21 + 1);
LAB_002302e4:
        puVar7 = puVar21 + 1;
        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));
        uVar2 = 0x1ab;
        if (-1 < (int)puVar19) {
          iVar3 = *(int *)(puVar22 + 0x29184c);
          if (puVar19 != puVar11) goto LAB_00230354;
          iVar3 = *(int *)(puVar22 + 0x29184c);
          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;
          return;
        }
      }
      while( true ) {
        iVar3 = *(int *)(puVar22 + 0x29184c);
LAB_00230354:
        iVar3 = iVar3 + -0x2b58;
        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);
LAB_00230368:
        iVar1 = 0xe3;
        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);
        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);
        iVar3 = extraout_v1_00;
LAB_00230380:
        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);
        if (in_t0 == (undefined *)0x0) break;
LAB_00230394:
        FUN_00212d10();
LAB_002303a0:
        uVar2 = 0x19e;
      }
    } while( true );
  }
  puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2);
  if (*(int *)(this + 0x10) != 0) goto LAB_002300ac;
  puVar22 = (undefined *)((int)puVar22 * 0x20);
  if (*(undefined **)(this + 0x14) != puVar22) goto LAB_002300ac;
  puVar20 = PTR_s_in_a_linker_script_004c191c;
  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;
  puVar11 = *(undefined **)(this + 0x1c);
  if (*(int *)(this + 0x18) < 0) goto LAB_002300a0;
  in_t0 = puVar22 + (int)puVar11;
  iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18);
  if (*(int *)(param_1 + 8) < iVar1) goto LAB_002300a0;
  if (*(int *)(param_1 + 8) == iVar1) goto LAB_0023008c;
  do {
    iVar1 = *(int *)(param_1 + 0x10);
    puVar10 = (undefined4 *)(puVar11 + iVar1);
    if (puVar21 == puVar7) {
      if (puVar22 == (undefined *)0x0) {
        return;
      }
    }
    else {
      do {
        while( true ) {
          puVar24 = puVar21;
          puVar7 = puVar10;
          pOVar17 = (Output_segment *)*puVar24;
          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);
          uVar2 = *(undefined4 *)(pOVar17 + 0x174);
          in_t0 = *(undefined **)(pOVar17 + 0x198);
          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);
          uVar8 = *(undefined4 *)(pOVar17 + 0x194);
          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);
          puVar7[3] = uVar13;
          *puVar7 = in_t0;
          puVar7[1] = uVar16;
          puVar7[4] = uVar8;
          puVar7[5] = uVar2;
          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);
          uVar28 = Output_segment::maximum_alignment(pOVar17);
          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);
          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&
             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))
             ) break;
          iVar3 = *(int *)(this + 0x24);
          puVar7[7] = (uint)uVar28;
          puVar10 = puVar7 + 8;
          puVar21 = puVar24 + 1;
          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;
        }
        iVar3 = *(int *)(this + 0x24);
        puVar7[7] = *(uint *)(pOVar17 + 0x184);
        puVar10 = puVar7 + 8;
        puVar21 = puVar24 + 1;
      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);
LAB_0022fff4:
      puVar21 = puVar24 + 1;
      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));
      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {
        puVar20 = PTR_s_in_a_linker_script_004c191c;
        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;
        return;
      }
    }
    uVar2 = 0x1ab;
    while( true ) {
      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;
      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)
      ;
LAB_00230074:
      param_1 = (Output_file *)0xe3;
      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);
      puVar7 = extraout_v1;
LAB_0023008c:
      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);
      if (in_t0 == (undefined *)0x0) break;
LAB_002300a0:
      FUN_00212d10();
LAB_002300ac:
      uVar2 = 0x19e;
    }
  } while( true );
}


lui gp,0x2a
addiu gp,gp,-0x6c5c
addu gp,gp,t9
lw v1,0x24(a0)
addiu sp,sp,-0x38
lw v0,0x20(a0)
sw s2,0x20(sp)
sw s6,0x30(sp)
or s6,a0,zero
sw gp,0x10(sp)
ext a0,v0,0x1e,0x1
sw s3,0x24(sp)
sw ra,0x34(sp)
sw s5,0x2c(sp)
sw s4,0x28(sp)
sw s1,0x1c(sp)
sw s0,0x18(sp)
lw s2,0x0(v1)
lw v1,0x4(v1)
beq a0,zero,0x002300b4
_subu s3,v1,s2
lw a0,0x10(s6)
bne a0,zero,0x002300ac
_sra s3,s3,0x2
lw a0,0x14(s6)
sll s3,s3,0x5
bne a0,s3,0x002300ac
_ext v0,v0,0x1d,0x1
beq v0,zero,0x00230074
_lw a2,-0x7924(gp)
lw a3,0x18(s6)
bltz a3,0x0023009c
_lw a0,0x1c(s6)
addu t0,s3,a0
lw a2,0x8(a1)
sltu v0,t0,s3
addu v0,v0,a3
slt a3,a2,v0
bne a3,zero,0x002300a0
_lw t9,-0x533c(gp)
beq a2,v0,0x0023008c
_nop
lw s1,0x10(a1)
beq s2,v1,0x00230050
_addu s5,s1,a0
lw s4,-0x6ea8(gp)
b 0x0022ff7c
_or s1,s5,zero
beq v0,a1,0x00230040
_sltu v0,a0,v1
lw v0,0x24(s6)
addiu s2,s2,0x4
sw a0,0x1c(s1)
lw v0,0x4(v0)
beq v0,s2,0x0022fff4
_addiu s1,s1,0x20
lw s0,0x0(s2)
or t9,s4,zero
or a0,s0,zero
lw a2,0x164(s0)
lw a1,0x16c(s0)
lw v0,0x174(s0)
lw t0,0x198(s0)
lw a3,0x18c(s0)
lw v1,0x194(s0)
sw a2,0x8(s1)
sw a1,0xc(s1)
sw t0,0x0(s1)
sw a3,0x4(s1)
sw v1,0x10(s1)
sw v0,0x14(s1)
lw v0,0x19c(s0)
bal 0x00216f60
_sw v0,0x18(s1)
lw a1,0x180(s0)
lw gp,0x10(sp)
sltu a2,a1,v0
beq a2,zero,0x0022ff5c
_lw a0,0x184(s0)
or a0,v1,zero
lw v0,0x24(s6)
addiu s2,s2,0x4
sw a0,0x1c(s1)
lw v0,0x4(v0)
bne v0,s2,0x0022ff7c
_addiu s1,s1,0x20
subu s1,s1,s5
bltz s1,0x00230058
_nop
bne s1,s3,0x00230058
_nop
lw v0,0x20(s6)
ext v0,v0,0x1d,0x1
beq v0,zero,0x00230074
_lw a2,-0x7924(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,0x0022ff64
_nop
b 0x0022ffdc
_or a0,v1,zero
beq s3,zero,0x0023001c
_lw ra,0x34(sp)
li a1,0x1ab
lw a2,-0x7924(gp)
lw a0,-0x7924(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x2b48
jalr t9
_addiu a0,a0,-0x48b4
li a1,0xe3
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x2a78
jalr t9
_addiu a0,a0,0x3574
lw v0,0xc(a1)
sltu t0,v0,t0
beq t0,zero,0x0022ff44
_nop
lw t9,-0x533c(gp)
addiu t9,t9,0x2d10
bal 0x00212d10
_nop
b 0x0023005c
_li a1,0x19e
lw a2,-0x7924(gp)
li a1,0xcf
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x29fc
jalr t9
_addiu a0,a0,0x3574
(translation_unit "/* void gold::Output_segment_headers::do_sized_write<32, true>(gold::Output_file*) */\n\nvoid __thiscall\ngold::Output_segment_headers::do_sized_write<32,true>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  undefined4 *extraout_v1;\n  uint uVar9;\n  undefined4 *puVar10;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar11;\n  int *piVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  undefined *in_t0;\n  Output_segment *pOVar17;\n  int *piVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined4 *puVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  \n  puVar21 = (undefined4 *)**(undefined4 **)(this + 0x24);\n  puVar7 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];\n  if (-1 < *(int *)(this + 0x20) << 1) {\n    iVar1 = 0xcf;\n    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);\n    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];\n    if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;\n    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;\n    iVar3 = *(int *)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n    iVar3 = *(int *)(puVar20 + 0x1c);\n    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar11 + iVar3;\n    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);\n    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;\n    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;\n    do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );\n  }\n  puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2);\n  if (*(int *)(this + 0x10) != 0) goto LAB_002300ac;\n  puVar22 = (undefined *)((int)puVar22 * 0x20);\n  if (*(undefined **)(this + 0x14) != puVar22) goto LAB_002300ac;\n  puVar20 = PTR_s_in_a_linker_script_004c191c;\n  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n  puVar11 = *(undefined **)(this + 0x1c);\n  if (*(int *)(this + 0x18) < 0) goto LAB_002300a0;\n  in_t0 = puVar22 + (int)puVar11;\n  iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18);\n  if (*(int *)(param_1 + 8) < iVar1) goto LAB_002300a0;\n  if (*(int *)(param_1 + 8) == iVar1) goto LAB_0023008c;\n  do {\n    iVar1 = *(int *)(param_1 + 0x10);\n    puVar10 = (undefined4 *)(puVar11 + iVar1);\n    if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar2 = 0x1ab;\n    while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }\n  } while( true );\n}\n\n" comment (declaration "void __thiscall\ngold::Output_segment_headers::do_sized_write<32,true>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int iVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_segment_headers::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "true>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int" (function_declarator "true>\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) identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined *in_t0;" type_identifier (pointer_declarator "*in_t0" * identifier) ;) (declaration "Output_segment *pOVar17;" type_identifier (pointer_declarator "*pOVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "ulonglong uVar29;" type_identifier identifier ;) (expression_statement "puVar21 = (undefined4 *)**(undefined4 **)(this + 0x24);" (assignment_expression "puVar21 = (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 "puVar7 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];" (assignment_expression "puVar7 = (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    iVar1 = 0xcf;\n    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);\n    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];\n    if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;\n    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;\n    iVar3 = *(int *)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n    iVar3 = *(int *)(puVar20 + 0x1c);\n    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar11 + iVar3;\n    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);\n    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;\n    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;\n    do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );\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    iVar1 = 0xcf;\n    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);\n    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];\n    if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;\n    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;\n    iVar3 = *(int *)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n    iVar3 = *(int *)(puVar20 + 0x1c);\n    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar11 + iVar3;\n    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);\n    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;\n    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;\n    do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );\n  }" { (expression_statement "iVar1 = 0xcf;" (assignment_expression "iVar1 = 0xcf" identifier = number_literal) ;) (expression_statement "puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;) (expression_statement "puVar22 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar22 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc)" ( identifier , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x29fc" identifier + number_literal) ))) ;) (expression_statement "puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);" (assignment_expression "puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(puVar20 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar20 + 0x24)" * (pointer_expression "*(undefined4 **)(puVar20 + 0x24)" * (cast_expression "(undefined4 **)(puVar20 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];" (assignment_expression "puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1]" identifier = (cast_expression "(undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(puVar20 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(puVar20 + 0x24))" ( (pointer_expression "*(undefined4 **)(puVar20 + 0x24)" * (cast_expression "(undefined4 **)(puVar20 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(-1 < *(int *)(puVar20 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(puVar20 + 0x20) << 1" number_literal < (binary_expression "*(int *)(puVar20 + 0x20) << 1" (pointer_expression "*(int *)(puVar20 + 0x20)" * (cast_expression "(int *)(puVar20 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x20)" ( (binary_expression "puVar20 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }" { (expression_statement "iVar3 = 0xcf;" (assignment_expression "iVar3 = 0xcf" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(puVar22 + 0x291960);" (assignment_expression "pcVar26 = *(code **)(puVar22 + 0x291960)" identifier = (pointer_expression "*(code **)(puVar22 + 0x291960)" * (cast_expression "(code **)(puVar22 + 0x291960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x291960)" ( (binary_expression "puVar22 + 0x291960" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;" (assignment_expression "iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574" identifier = (binary_expression "*(int *)(puVar22 + 0x2911ac) + 0x3574" (pointer_expression "*(int *)(puVar22 + 0x2911ac)" * (cast_expression "(int *)(puVar22 + 0x2911ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x2911ac)" ( (binary_expression "puVar22 + 0x2911ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);" (call_expression "(*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc)" ( identifier , number_literal , (binary_expression "*(int *)(puVar22 + 0x29184c) + -0x29fc" (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);" (assignment_expression "puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(iVar1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar1 + 0x24)" * (pointer_expression "*(undefined4 **)(iVar1 + 0x24)" * (cast_expression "(undefined4 **)(iVar1 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];" (assignment_expression "puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1]" identifier = (cast_expression "(undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(iVar1 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(iVar1 + 0x24))" ( (pointer_expression "*(undefined4 **)(iVar1 + 0x24)" * (cast_expression "(undefined4 **)(iVar1 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }" if (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar1 + 0x20) << 1" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }" { (expression_statement "pcVar27 = *(code **)(pcVar26 + 0x29166c);" (assignment_expression "pcVar27 = *(code **)(pcVar26 + 0x29166c)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x29166c)" * (cast_expression "(code **)(pcVar26 + 0x29166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x29166c)" ( (binary_expression "pcVar26 + 0x29166c" identifier + number_literal) ))))) ;) (expression_statement "puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);" (assignment_expression "puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" ( (binary_expression "*(int *)(pcVar26 + 0x290eb8) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x290eb8)" * (cast_expression "(int *)(pcVar26 + 0x290eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x290eb8)" ( (binary_expression "pcVar26 + 0x290eb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);" (call_expression "(*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x291558) + -0x29fc" (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar12 = (int *)puVar7[2];" (assignment_expression "piVar12 = (int *)puVar7[2]" identifier = (cast_expression "(int *)puVar7[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar7[2]" identifier [ number_literal ]))) ;) (while_statement "while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }" while (parenthesized_expression "(piVar12 != (int *)0x0)" ( (binary_expression "piVar12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }" { (expression_statement "piVar12 = (int *)*piVar12;" (assignment_expression "piVar12 = (int *)*piVar12" identifier = (cast_expression "(int *)*piVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar12" * identifier))) ;) (expression_statement "(**(code **)(pcVar27 + 0x290cbc))();" (call_expression "(**(code **)(pcVar27 + 0x290cbc))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x290cbc))" ( (pointer_expression "**(code **)(pcVar27 + 0x290cbc)" * (pointer_expression "*(code **)(pcVar27 + 0x290cbc)" * (cast_expression "(code **)(pcVar27 + 0x290cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x290cbc)" ( (binary_expression "pcVar27 + 0x290cbc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);" (call_expression "(**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2)" (parenthesized_expression "(**(code **)(pcVar27 + 0x295628))" ( (pointer_expression "**(code **)(pcVar27 + 0x295628)" * (pointer_expression "*(code **)(pcVar27 + 0x295628)" * (cast_expression "(code **)(pcVar27 + 0x295628)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x295628)" ( (binary_expression "pcVar27 + 0x295628" identifier + number_literal) ))))) )) (argument_list "(*puVar7,0,puVar7[1] << 2)" ( (pointer_expression "*puVar7" * identifier) , number_literal , (binary_expression "puVar7[1] << 2" (subscript_expression "puVar7[1]" identifier [ number_literal ]) << number_literal) ))) ;) (expression_statement "puVar7[3] = 0;" (assignment_expression "puVar7[3] = 0" (subscript_expression "puVar7[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[2] = 0;" (assignment_expression "puVar7[2] = 0" (subscript_expression "puVar7[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }" if (parenthesized_expression "((undefined4 *)*puVar7 == puVar7 + 6)" ( (binary_expression "(undefined4 *)*puVar7 == puVar7 + 6" (cast_expression "(undefined4 *)*puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier)) == (binary_expression "puVar7 + 6" identifier + number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) comment comment (expression_statement "(**(code **)(pcVar27 + 0x290cbc))();" (call_expression "(**(code **)(pcVar27 + 0x290cbc))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x290cbc))" ( (pointer_expression "**(code **)(pcVar27 + 0x290cbc)" * (pointer_expression "*(code **)(pcVar27 + 0x290cbc)" * (cast_expression "(code **)(pcVar27 + 0x290cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x290cbc)" ( (binary_expression "pcVar27 + 0x290cbc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);" (assignment_expression "puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" identifier = (cast_expression "(undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" ( (binary_expression "((int)puVar21 - (int)puVar7 >> 2) * 0x38" (parenthesized_expression "((int)puVar21 - (int)puVar7 >> 2)" ( (binary_expression "(int)puVar21 - (int)puVar7 >> 2" (binary_expression "(int)puVar21 - (int)puVar7" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) ;) (if_statement "if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;" if (parenthesized_expression "(*(int *)(iVar1 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x10) != 0" (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0023061c;" goto statement_identifier ;)) (if_statement "if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;" if (parenthesized_expression "(*(undefined **)(iVar1 + 0x14) != puVar22)" ( (binary_expression "*(undefined **)(iVar1 + 0x14) != puVar22" (pointer_expression "*(undefined **)(iVar1 + 0x14)" * (cast_expression "(undefined **)(iVar1 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_0023061c;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;" if (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar1 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar1 + 0x20) << 2" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_002305e4;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(iVar1 + 0x1c);" (assignment_expression "iVar4 = *(int *)(iVar1 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar1 + 0x1c)" * (cast_expression "(int *)(iVar1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1c)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;" if (parenthesized_expression "(*(int *)(iVar1 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar1 + 0x18) < 0" (pointer_expression "*(int *)(iVar1 + 0x18)" * (cast_expression "(int *)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_00230610;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar22 + iVar4;" (assignment_expression "in_t0 = puVar22 + iVar4" identifier = (binary_expression "puVar22 + iVar4" identifier + identifier)) ;) (expression_statement "iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);" (assignment_expression "iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18)" identifier = (binary_expression "(uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18)" (call_expression "(uint)(in_t0 < puVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar22)" ( (binary_expression "in_t0 < puVar22" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar1 + 0x18)" * (cast_expression "(int *)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;" if (parenthesized_expression "(*(int *)(iVar3 + 8) < iVar6)" ( (binary_expression "*(int *)(iVar3 + 8) < iVar6" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_00230610;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;" if (parenthesized_expression "(*(int *)(iVar3 + 8) == iVar6)" ( (binary_expression "*(int *)(iVar3 + 8) == iVar6" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_002305fc;" goto statement_identifier ;)) (do_statement "do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );" do (compound_statement "{\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      }" { (expression_statement "puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);" (assignment_expression "puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x10) + iVar4)" ( (binary_expression "*(int *)(iVar3 + 0x10) + iVar4" (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "puVar10 = puVar24;" (assignment_expression "puVar10 = puVar24" identifier = identifier) ;) (if_statement "if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" if (parenthesized_expression "(puVar7 == puVar21)" ( (binary_expression "puVar7 == puVar21" identifier == identifier) )) (compound_statement "{\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }" { (if_statement "if (puVar22 == (undefined *)0x0) {\n            return;\n          }" if (parenthesized_expression "(puVar22 == (undefined *)0x0)" ( (binary_expression "puVar22 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) }) (else_clause "else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" else (compound_statement "{\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" { (do_statement "do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);" do (compound_statement "{\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          }" { (while_statement "while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }" { (expression_statement "puVar25 = puVar7;" (assignment_expression "puVar25 = puVar7" identifier = identifier) ;) (expression_statement "puVar21 = puVar10;" (assignment_expression "puVar21 = puVar10" identifier = identifier) ;) (expression_statement "pOVar17 = (Output_segment *)*puVar25;" (assignment_expression "pOVar17 = (Output_segment *)*puVar25" identifier = (cast_expression "(Output_segment *)*puVar25" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x188);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x188)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x188)" * (cast_expression "(undefined4 *)(pOVar17 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x188)" ( (binary_expression "pOVar17 + 0x188" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(pOVar17 + 0x198);" (assignment_expression "uVar13 = *(undefined4 *)(pOVar17 + 0x198)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x198)" * (cast_expression "(undefined4 *)(pOVar17 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x198)" ( (binary_expression "pOVar17 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);" (assignment_expression "puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c)" (subscript_expression "puVar21[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x18c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x18c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x18c)" ( (binary_expression "pOVar17 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "puVar21[2] = uVar2;" (assignment_expression "puVar21[2] = uVar2" (subscript_expression "puVar21[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = *(undefined4 *)(pOVar17 + 0x164);" (assignment_expression "uVar8 = *(undefined4 *)(pOVar17 + 0x164)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x164)" * (cast_expression "(undefined4 *)(pOVar17 + 0x164)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x164)" ( (binary_expression "pOVar17 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x160);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x160)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x160)" * (cast_expression "(undefined4 *)(pOVar17 + 0x160)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x160)" ( (binary_expression "pOVar17 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "*puVar21 = uVar13;" (assignment_expression "*puVar21 = uVar13" (pointer_expression "*puVar21" * identifier) = identifier) ;) (expression_statement "uVar13 = *(undefined4 *)(pOVar17 + 0x19c);" (assignment_expression "uVar13 = *(undefined4 *)(pOVar17 + 0x19c)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x19c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x19c)" ( (binary_expression "pOVar17 + 0x19c" identifier + number_literal) ))))) ;) (expression_statement "puVar21[5] = uVar8;" (assignment_expression "puVar21[5] = uVar8" (subscript_expression "puVar21[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21[4] = uVar2;" (assignment_expression "puVar21[4] = uVar2" (subscript_expression "puVar21[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x168);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x168)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x168)" * (cast_expression "(undefined4 *)(pOVar17 + 0x168)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x168)" ( (binary_expression "pOVar17 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);" (assignment_expression "puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c)" (subscript_expression "puVar21[7]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x16c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x16c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x16c)" ( (binary_expression "pOVar17 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "puVar21[6] = uVar2;" (assignment_expression "puVar21[6] = uVar2" (subscript_expression "puVar21[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 400);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 400)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 400)" * (cast_expression "(undefined4 *)(pOVar17 + 400)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 400)" ( (binary_expression "pOVar17 + 400" identifier + number_literal) ))))) ;) (expression_statement "puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);" (assignment_expression "puVar21[9] = *(undefined4 *)(pOVar17 + 0x194)" (subscript_expression "puVar21[9]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x194)" * (cast_expression "(undefined4 *)(pOVar17 + 0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x194)" ( (binary_expression "pOVar17 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "puVar21[8] = uVar2;" (assignment_expression "puVar21[8] = uVar2" (subscript_expression "puVar21[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = *(undefined4 *)(pOVar17 + 0x174);" (assignment_expression "uVar8 = *(undefined4 *)(pOVar17 + 0x174)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x174)" * (cast_expression "(undefined4 *)(pOVar17 + 0x174)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x174)" ( (binary_expression "pOVar17 + 0x174" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x170);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x170)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x170)" * (cast_expression "(undefined4 *)(pOVar17 + 0x170)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x170)" ( (binary_expression "pOVar17 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "puVar21[1] = uVar13;" (assignment_expression "puVar21[1] = uVar13" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21[0xb] = uVar8;" (assignment_expression "puVar21[0xb] = uVar8" (subscript_expression "puVar21[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21[10] = uVar2;" (assignment_expression "puVar21[10] = uVar2" (subscript_expression "puVar21[10]" identifier [ number_literal ]) = identifier) ;) (ERROR "uVar28 = Output_segment::" (assignment_expression "uVar28 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar17);" (call_expression "maximum_alignment(pOVar17)" identifier (argument_list "(pOVar17)" ( identifier ))) ;) (expression_statement "uVar5 = (uint)((ulonglong)uVar28 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar28 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar28 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar9 = *(uint *)(pOVar17 + 0x180);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x180)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x180)" * (cast_expression "(uint *)(pOVar17 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x180)" ( (binary_expression "pOVar17 + 0x180" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x184);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x184)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x184)" * (cast_expression "(uint *)(pOVar17 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x184)" ( (binary_expression "pOVar17 + 0x184" identifier + number_literal) ))))) ;) (if_statement "if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;" if (parenthesized_expression "((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14))))" ( (binary_expression "(uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))" (parenthesized_expression "(uVar5 <= uVar9)" ( (binary_expression "uVar5 <= uVar9" identifier <= identifier) )) && (parenthesized_expression "((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))" ( (parenthesized_expression "(uVar5 != uVar9 || ((uint)uVar28 <= uVar14))" ( (binary_expression "uVar5 != uVar9 || ((uint)uVar28 <= uVar14)" (binary_expression "uVar5 != uVar9" identifier != identifier) || (parenthesized_expression "((uint)uVar28 <= uVar14)" ( (binary_expression "(uint)uVar28 <= uVar14" (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = *(int *)(iVar1 + 0x24);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x24)" identifier = (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puVar21 + 0xc) = uVar28;" (assignment_expression "*(undefined8 *)(puVar21 + 0xc) = uVar28" (pointer_expression "*(undefined8 *)(puVar21 + 0xc)" * (cast_expression "(undefined8 *)(puVar21 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0xc)" ( (binary_expression "puVar21 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar10 = puVar21 + 0xe;" (assignment_expression "puVar10 = puVar21 + 0xe" identifier = (binary_expression "puVar21 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar25 + 1;" (assignment_expression "puVar7 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (if_statement "if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;" if (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) == puVar25 + 1)" ( (binary_expression "*(undefined4 **)(iVar3 + 4) == puVar25 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" * (cast_expression "(undefined4 **)(iVar3 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == (binary_expression "puVar25 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_00230560;" goto statement_identifier ;)) })) (expression_statement "iVar3 = *(int *)(iVar1 + 0x24);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x24)" identifier = (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "puVar21[0xc] = uVar9;" (assignment_expression "puVar21[0xc] = uVar9" (subscript_expression "puVar21[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21[0xd] = uVar14;" (assignment_expression "puVar21[0xd] = uVar14" (subscript_expression "puVar21[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10 = puVar21 + 0xe;" (assignment_expression "puVar10 = puVar21 + 0xe" identifier = (binary_expression "puVar21 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar25 + 1;" (assignment_expression "puVar7 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) != puVar25 + 1)" ( (binary_expression "*(undefined4 **)(iVar3 + 4) != puVar25 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" * (cast_expression "(undefined4 **)(iVar3 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) != (binary_expression "puVar25 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_00230560:\n          puVar7 = puVar25 + 1;" statement_identifier : (expression_statement "puVar7 = puVar25 + 1;" (assignment_expression "puVar7 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;)) (expression_statement "puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));" (assignment_expression "puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24))" identifier = (cast_expression "(undefined *)((int)puVar21 + (0x38 - (int)puVar24))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + (0x38 - (int)puVar24))" ( (binary_expression "(int)puVar21 + (0x38 - (int)puVar24)" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x38 - (int)puVar24)" ( (binary_expression "0x38 - (int)puVar24" number_literal - (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) (if_statement "if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }" if (parenthesized_expression "(-1 < (int)puVar20)" ( (binary_expression "-1 < (int)puVar20" number_literal < (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }" { (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) ))))) ;) (if_statement "if (puVar20 != puVar22) goto LAB_002305d0;" if (parenthesized_expression "(puVar20 != puVar22)" ( (binary_expression "puVar20 != puVar22" identifier != identifier) )) (goto_statement "goto LAB_002305d0;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;" if (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar1 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar1 + 0x20) << 2" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_002305e4;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (while_statement "while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }" { (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;" statement_identifier : (expression_statement "iVar4 = iVar4 + -0x2b68;" (assignment_expression "iVar4 = iVar4 + -0x2b68" identifier = (binary_expression "iVar4 + -0x2b68" identifier + number_literal)) ;)) (expression_statement "(**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);" (call_expression "(**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2)" (parenthesized_expression "(**(code **)(pcVar26 + 0x29166c))" ( (pointer_expression "**(code **)(pcVar26 + 0x29166c)" * (pointer_expression "*(code **)(pcVar26 + 0x29166c)" * (cast_expression "(code **)(pcVar26 + 0x29166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x29166c)" ( (binary_expression "pcVar26 + 0x29166c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2)" ( (binary_expression "*(int *)(pcVar26 + 0x291558) + -0x48b4" (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_002305e4:\n          iVar3 = 0xe3;" statement_identifier : (expression_statement "iVar3 = 0xe3;" (assignment_expression "iVar3 = 0xe3" identifier = number_literal) ;)) (expression_statement "puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);" (assignment_expression "puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" ( (binary_expression "*(int *)(pcVar26 + 0x290eb8) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x290eb8)" * (cast_expression "(int *)(pcVar26 + 0x290eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x290eb8)" ( (binary_expression "pcVar26 + 0x290eb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);" (call_expression "(**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78)" (parenthesized_expression "(**(code **)(pcVar26 + 0x29166c))" ( (pointer_expression "**(code **)(pcVar26 + 0x29166c)" * (pointer_expression "*(code **)(pcVar26 + 0x29166c)" * (cast_expression "(code **)(pcVar26 + 0x29166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x29166c)" ( (binary_expression "pcVar26 + 0x29166c" identifier + number_literal) ))))) )) (argument_list "(puVar21,0xe3,iVar4 + -0x2a78)" ( identifier , number_literal , (binary_expression "iVar4 + -0x2a78" identifier + number_literal) ))) ;) (expression_statement "iVar4 = extraout_v1_01;" (assignment_expression "iVar4 = extraout_v1_01" identifier = identifier) ;) (labeled_statement "LAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);" (assignment_expression "in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0)" identifier = (cast_expression "(undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(undefined **)(iVar3 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined **)(iVar3 + 0xc) < in_t0)" ( (binary_expression "*(undefined **)(iVar3 + 0xc) < in_t0" (pointer_expression "*(undefined **)(iVar3 + 0xc)" * (cast_expression "(undefined **)(iVar3 + 0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (undefined *)0x0) break;" if (parenthesized_expression "(in_t0 == (undefined *)0x0)" ( (binary_expression "in_t0 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00230610:\n          FUN_00212d10();" statement_identifier : (expression_statement "FUN_00212d10();" (call_expression "FUN_00212d10()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0023061c:\n          uVar2 = 0x19e;" statement_identifier : (expression_statement "uVar2 = 0x19e;" (assignment_expression "uVar2 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);" (assignment_expression "puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" identifier = (cast_expression "(undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" ( (binary_expression "((int)puVar21 - (int)puVar7 >> 2) * 0x38" (parenthesized_expression "((int)puVar21 - (int)puVar7 >> 2)" ( (binary_expression "(int)puVar21 - (int)puVar7 >> 2" (binary_expression "(int)puVar21 - (int)puVar7" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) ;) (if_statement "if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;" if (parenthesized_expression "(*(int *)(puVar20 + 0x10) != 0)" ( (binary_expression "*(int *)(puVar20 + 0x10) != 0" (pointer_expression "*(int *)(puVar20 + 0x10)" * (cast_expression "(int *)(puVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_002303a0;" goto statement_identifier ;)) (if_statement "if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;" if (parenthesized_expression "(*(undefined **)(puVar20 + 0x14) != puVar11)" ( (binary_expression "*(undefined **)(puVar20 + 0x14) != puVar11" (pointer_expression "*(undefined **)(puVar20 + 0x14)" * (cast_expression "(undefined **)(puVar20 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x14)" ( (binary_expression "puVar20 + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_002303a0;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" identifier = (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;" if (parenthesized_expression "(-1 < *(int *)(puVar20 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar20 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar20 + 0x20) << 2" (pointer_expression "*(int *)(puVar20 + 0x20)" * (cast_expression "(int *)(puVar20 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x20)" ( (binary_expression "puVar20 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_00230368;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(puVar20 + 0x1c);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x1c)" * (cast_expression "(int *)(puVar20 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1c)" ( (binary_expression "puVar20 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;" if (parenthesized_expression "(*(int *)(puVar20 + 0x18) < 0)" ( (binary_expression "*(int *)(puVar20 + 0x18) < 0" (pointer_expression "*(int *)(puVar20 + 0x18)" * (cast_expression "(int *)(puVar20 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_00230394;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar11 + iVar3;" (assignment_expression "in_t0 = puVar11 + iVar3" identifier = (binary_expression "puVar11 + iVar3" identifier + identifier)) ;) (expression_statement "iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);" (assignment_expression "iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18)" identifier = (binary_expression "(uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18)" (call_expression "(uint)(in_t0 < puVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar11)" ( (binary_expression "in_t0 < puVar11" identifier < identifier) ))) + (pointer_expression "*(int *)(puVar20 + 0x18)" * (cast_expression "(int *)(puVar20 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;" if (parenthesized_expression "(*(int *)(iVar1 + 8) < iVar4)" ( (binary_expression "*(int *)(iVar1 + 8) < iVar4" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_00230394;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;" if (parenthesized_expression "(*(int *)(iVar1 + 8) == iVar4)" ( (binary_expression "*(int *)(iVar1 + 8) == iVar4" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_00230380;" goto statement_identifier ;)) (do_statement "do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );" do (compound_statement "{\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    }" { (expression_statement "piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);" (assignment_expression "piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3)" identifier = (cast_expression "(int *)(*(int *)(iVar1 + 0x10) + iVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 0x10) + iVar3)" ( (binary_expression "*(int *)(iVar1 + 0x10) + iVar3" (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "piVar12 = piVar23;" (assignment_expression "piVar12 = piVar23" identifier = identifier) ;) (if_statement "if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" if (parenthesized_expression "(puVar7 == puVar21)" ( (binary_expression "puVar7 == puVar21" identifier == identifier) )) (compound_statement "{\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }" { (if_statement "if (puVar11 == (undefined *)0x0) {\n          return;\n        }" if (parenthesized_expression "(puVar11 == (undefined *)0x0)" ( (binary_expression "puVar11 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) }) (else_clause "else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" else (compound_statement "{\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" { (do_statement "do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);" do (compound_statement "{\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        }" { (while_statement "while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }" { (expression_statement "puVar21 = puVar7;" (assignment_expression "puVar21 = puVar7" identifier = identifier) ;) (expression_statement "piVar18 = piVar12;" (assignment_expression "piVar18 = piVar12" identifier = identifier) ;) (expression_statement "pOVar17 = (Output_segment *)*puVar21;" (assignment_expression "pOVar17 = (Output_segment *)*puVar21" identifier = (cast_expression "(Output_segment *)*puVar21" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "uVar9 = *(uint *)(pOVar17 + 0x188);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x188)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x188)" * (cast_expression "(uint *)(pOVar17 + 0x188)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x188)" ( (binary_expression "pOVar17 + 0x188" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x18c);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x18c)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x18c)" * (cast_expression "(uint *)(pOVar17 + 0x18c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x18c)" ( (binary_expression "pOVar17 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x198);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x198)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x198)" * (cast_expression "(uint *)(pOVar17 + 0x198)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x198)" ( (binary_expression "pOVar17 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[3]" 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 "piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[2]" 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 "uVar9 = *(uint *)(pOVar17 + 0x160);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x160)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x160)" * (cast_expression "(uint *)(pOVar17 + 0x160)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x160)" ( (binary_expression "pOVar17 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x164);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x164)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x164)" * (cast_expression "(uint *)(pOVar17 + 0x164)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x164)" ( (binary_expression "pOVar17 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "*piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" * identifier) = (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" ( (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" ( (binary_expression "uVar14 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" ( (binary_expression "uVar14 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" ( (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x19c);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x19c)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x19c)" * (cast_expression "(uint *)(pOVar17 + 0x19c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x19c)" ( (binary_expression "pOVar17 + 0x19c" identifier + number_literal) ))))) ;) (expression_statement "piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[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 "piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[4]" 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 "uVar9 = *(uint *)(pOVar17 + 0x168);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x168)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x168)" * (cast_expression "(uint *)(pOVar17 + 0x168)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x168)" ( (binary_expression "pOVar17 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x16c);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x16c)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x16c)" * (cast_expression "(uint *)(pOVar17 + 0x16c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x16c)" ( (binary_expression "pOVar17 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[7]" 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 "piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[6]" 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 "uVar9 = *(uint *)(pOVar17 + 400);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 400)" identifier = (pointer_expression "*(uint *)(pOVar17 + 400)" * (cast_expression "(uint *)(pOVar17 + 400)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 400)" ( (binary_expression "pOVar17 + 400" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x194);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x194)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x194)" * (cast_expression "(uint *)(pOVar17 + 0x194)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x194)" ( (binary_expression "pOVar17 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[9]" 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 "piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[8]" 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 "uVar9 = *(uint *)(pOVar17 + 0x170);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x170)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x170)" * (cast_expression "(uint *)(pOVar17 + 0x170)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x170)" ( (binary_expression "pOVar17 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x174);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x174)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x174)" * (cast_expression "(uint *)(pOVar17 + 0x174)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x174)" ( (binary_expression "pOVar17 + 0x174" identifier + number_literal) ))))) ;) (expression_statement "piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" ( (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" ( (binary_expression "uVar14 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" ( (binary_expression "uVar14 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" ( (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xb]" 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 "piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[10]" 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))) ;) (ERROR "uVar29 = Output_segment::" (assignment_expression "uVar29 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar17);" (call_expression "maximum_alignment(pOVar17)" identifier (argument_list "(pOVar17)" ( identifier ))) ;) (expression_statement "uVar5 = (uint)(uVar29 >> 0x20);" (assignment_expression "uVar5 = (uint)(uVar29 >> 0x20)" identifier = (call_expression "(uint)(uVar29 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar9 = (uint)uVar29;" (assignment_expression "uVar9 = (uint)uVar29" identifier = (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x180);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x180)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x180)" * (cast_expression "(uint *)(pOVar17 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x180)" ( (binary_expression "pOVar17 + 0x180" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(pOVar17 + 0x184);" (assignment_expression "uVar15 = *(uint *)(pOVar17 + 0x184)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x184)" * (cast_expression "(uint *)(pOVar17 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x184)" ( (binary_expression "pOVar17 + 0x184" identifier + number_literal) ))))) ;) (if_statement "if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;" if (parenthesized_expression "((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15))))" ( (binary_expression "(uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))" (parenthesized_expression "(uVar5 <= uVar14)" ( (binary_expression "uVar5 <= uVar14" identifier <= identifier) )) && (parenthesized_expression "((uVar5 != uVar14 || (uVar9 <= uVar15)))" ( (parenthesized_expression "(uVar5 != uVar14 || (uVar9 <= uVar15))" ( (binary_expression "uVar5 != uVar14 || (uVar9 <= uVar15)" (binary_expression "uVar5 != uVar14" identifier != identifier) || (parenthesized_expression "(uVar9 <= uVar15)" ( (binary_expression "uVar9 <= uVar15" identifier <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);" (assignment_expression "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" * (cast_expression "(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar20 + 0x24) + 4)" ( (binary_expression "*(int *)(puVar20 + 0x24) + 4" (pointer_expression "*(int *)(puVar20 + 0x24)" * (cast_expression "(int *)(puVar20 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 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 "((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(int)(uVar29 & 0xff000000ff) << 8" (cast_expression "(int)(uVar29 & 0xff000000ff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 & 0xff000000ff)" ( (binary_expression "uVar29 & 0xff000000ff" identifier & number_literal) ))) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;" (assignment_expression "piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000" (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           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 "((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000" (parenthesized_expression "((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(int)((uVar29 & 0xff000000ff) >> 0x20) << 8" (cast_expression "(int)((uVar29 & 0xff000000ff) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uVar29 & 0xff000000ff) >> 0x20)" ( (binary_expression "(uVar29 & 0xff000000ff) >> 0x20" (parenthesized_expression "(uVar29 & 0xff000000ff)" ( (binary_expression "uVar29 & 0xff000000ff" identifier & number_literal) )) >> number_literal) ))) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar12 = piVar18 + 0xe;" (assignment_expression "piVar12 = piVar18 + 0xe" identifier = (binary_expression "piVar18 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar21 + 1;" (assignment_expression "puVar7 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;) (if_statement "if (puVar10 == puVar21 + 1) goto LAB_002302e4;" if (parenthesized_expression "(puVar10 == puVar21 + 1)" ( (binary_expression "puVar10 == puVar21 + 1" identifier == (binary_expression "puVar21 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_002302e4;" goto statement_identifier ;)) })) (expression_statement "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);" (assignment_expression "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" * (cast_expression "(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar20 + 0x24) + 4)" ( (binary_expression "*(int *)(puVar20 + 0x24) + 4" (pointer_expression "*(int *)(puVar20 + 0x24)" * (cast_expression "(int *)(puVar20 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) = (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) = (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" ( (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" ( (binary_expression "uVar14 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" ( (binary_expression "uVar14 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" ( (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar12 = piVar18 + 0xe;" (assignment_expression "piVar12 = piVar18 + 0xe" identifier = (binary_expression "piVar18 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar21 + 1;" (assignment_expression "puVar7 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar10 != puVar21 + 1)" ( (binary_expression "puVar10 != puVar21 + 1" identifier != (binary_expression "puVar21 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_002302e4:\n        puVar7 = puVar21 + 1;" statement_identifier : (expression_statement "puVar7 = puVar21 + 1;" (assignment_expression "puVar7 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;)) (expression_statement "puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));" (assignment_expression "puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23))" identifier = (cast_expression "(undefined *)((int)piVar18 + (0x38 - (int)piVar23))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + (0x38 - (int)piVar23))" ( (binary_expression "(int)piVar18 + (0x38 - (int)piVar23)" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x38 - (int)piVar23)" ( (binary_expression "0x38 - (int)piVar23" number_literal - (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) (if_statement "if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }" if (parenthesized_expression "(-1 < (int)puVar19)" ( (binary_expression "-1 < (int)puVar19" number_literal < (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }" { (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" identifier = (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) ))))) ;) (if_statement "if (puVar19 != puVar11) goto LAB_00230354;" if (parenthesized_expression "(puVar19 != puVar11)" ( (binary_expression "puVar19 != puVar11" identifier != identifier) )) (goto_statement "goto LAB_00230354;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" identifier = (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;" if (parenthesized_expression "(-1 < *(int *)(puVar20 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar20 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar20 + 0x20) << 2" (pointer_expression "*(int *)(puVar20 + 0x20)" * (cast_expression "(int *)(puVar20 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x20)" ( (binary_expression "puVar20 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_00230368;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (while_statement "while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }" { (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" identifier = (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00230354:\n        iVar3 = iVar3 + -0x2b58;" statement_identifier : (expression_statement "iVar3 = iVar3 + -0x2b58;" (assignment_expression "iVar3 = iVar3 + -0x2b58" identifier = (binary_expression "iVar3 + -0x2b58" identifier + number_literal)) ;)) (expression_statement "(**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);" (call_expression "(**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2)" (parenthesized_expression "(**(code **)(puVar22 + 0x291960))" ( (pointer_expression "**(code **)(puVar22 + 0x291960)" * (pointer_expression "*(code **)(puVar22 + 0x291960)" * (cast_expression "(code **)(puVar22 + 0x291960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x291960)" ( (binary_expression "puVar22 + 0x291960" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2)" ( (binary_expression "*(int *)(puVar22 + 0x29184c) + -0x48b4" (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_00230368:\n        iVar1 = 0xe3;" statement_identifier : (expression_statement "iVar1 = 0xe3;" (assignment_expression "iVar1 = 0xe3" identifier = number_literal) ;)) (expression_statement "puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);" (assignment_expression "puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574)" identifier = (cast_expression "(undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar22 + 0x2911ac) + 0x3574)" ( (binary_expression "*(int *)(puVar22 + 0x2911ac) + 0x3574" (pointer_expression "*(int *)(puVar22 + 0x2911ac)" * (cast_expression "(int *)(puVar22 + 0x2911ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x2911ac)" ( (binary_expression "puVar22 + 0x2911ac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);" (call_expression "(**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78)" (parenthesized_expression "(**(code **)(puVar22 + 0x291960))" ( (pointer_expression "**(code **)(puVar22 + 0x291960)" * (pointer_expression "*(code **)(puVar22 + 0x291960)" * (cast_expression "(code **)(puVar22 + 0x291960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x291960)" ( (binary_expression "puVar22 + 0x291960" identifier + number_literal) ))))) )) (argument_list "(puVar21,0xe3,iVar3 + -0x2a78)" ( identifier , number_literal , (binary_expression "iVar3 + -0x2a78" identifier + number_literal) ))) ;) (expression_statement "iVar3 = extraout_v1_00;" (assignment_expression "iVar3 = extraout_v1_00" identifier = identifier) ;) (labeled_statement "LAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);" (assignment_expression "in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0)" identifier = (cast_expression "(undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(undefined **)(iVar1 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined **)(iVar1 + 0xc) < in_t0)" ( (binary_expression "*(undefined **)(iVar1 + 0xc) < in_t0" (pointer_expression "*(undefined **)(iVar1 + 0xc)" * (cast_expression "(undefined **)(iVar1 + 0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (undefined *)0x0) break;" if (parenthesized_expression "(in_t0 == (undefined *)0x0)" ( (binary_expression "in_t0 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00230394:\n        FUN_00212d10();" statement_identifier : (expression_statement "FUN_00212d10();" (call_expression "FUN_00212d10()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002303a0:\n        uVar2 = 0x19e;" statement_identifier : (expression_statement "uVar2 = 0x19e;" (assignment_expression "uVar2 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2);" (assignment_expression "puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2)" identifier = (cast_expression "(undefined *)((int)puVar7 - (int)puVar21 >> 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 - (int)puVar21 >> 2)" ( (binary_expression "(int)puVar7 - (int)puVar21 >> 2" (binary_expression "(int)puVar7 - (int)puVar21" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) ;) (if_statement "if (*(int *)(this + 0x10) != 0) goto LAB_002300ac;" 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) )) (goto_statement "goto LAB_002300ac;" goto statement_identifier ;)) (expression_statement "puVar22 = (undefined *)((int)puVar22 * 0x20);" (assignment_expression "puVar22 = (undefined *)((int)puVar22 * 0x20)" identifier = (cast_expression "(undefined *)((int)puVar22 * 0x20)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 * 0x20)" ( (binary_expression "(int)puVar22 * 0x20" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (*(undefined **)(this + 0x14) != puVar22) goto LAB_002300ac;" if (parenthesized_expression "(*(undefined **)(this + 0x14) != puVar22)" ( (binary_expression "*(undefined **)(this + 0x14) != puVar22" (pointer_expression "*(undefined **)(this + 0x14)" * (cast_expression "(undefined **)(this + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_002300ac;" goto statement_identifier ;)) (expression_statement "puVar20 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "puVar20 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;" 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)) )) (goto_statement "goto LAB_00230074;" goto statement_identifier ;)) (expression_statement "puVar11 = *(undefined **)(this + 0x1c);" (assignment_expression "puVar11 = *(undefined **)(this + 0x1c)" identifier = (pointer_expression "*(undefined **)(this + 0x1c)" * (cast_expression "(undefined **)(this + 0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(this + 0x18) < 0) goto LAB_002300a0;" if (parenthesized_expression "(*(int *)(this + 0x18) < 0)" ( (binary_expression "*(int *)(this + 0x18) < 0" (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) )))) < number_literal) )) (goto_statement "goto LAB_002300a0;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar22 + (int)puVar11;" (assignment_expression "in_t0 = puVar22 + (int)puVar11" identifier = (binary_expression "puVar22 + (int)puVar11" identifier + (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18);" (assignment_expression "iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18)" identifier = (binary_expression "(uint)(in_t0 < puVar22) + *(int *)(this + 0x18)" (call_expression "(uint)(in_t0 < puVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar22)" ( (binary_expression "in_t0 < puVar22" 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 (*(int *)(param_1 + 8) < iVar1) goto LAB_002300a0;" if (parenthesized_expression "(*(int *)(param_1 + 8) < iVar1)" ( (binary_expression "*(int *)(param_1 + 8) < iVar1" (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) )) (goto_statement "goto LAB_002300a0;" goto statement_identifier ;)) (if_statement "if (*(int *)(param_1 + 8) == iVar1) goto LAB_0023008c;" if (parenthesized_expression "(*(int *)(param_1 + 8) == iVar1)" ( (binary_expression "*(int *)(param_1 + 8) == iVar1" (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) )) (goto_statement "goto LAB_0023008c;" goto statement_identifier ;)) (do_statement "do {\n    iVar1 = *(int *)(param_1 + 0x10);\n    puVar10 = (undefined4 *)(puVar11 + iVar1);\n    if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar2 = 0x1ab;\n    while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }\n  } while( true );" do (compound_statement "{\n    iVar1 = *(int *)(param_1 + 0x10);\n    puVar10 = (undefined4 *)(puVar11 + iVar1);\n    if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar2 = 0x1ab;\n    while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }\n  }" { (expression_statement "iVar1 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x10)" identifier = (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) ))))) ;) (expression_statement "puVar10 = (undefined4 *)(puVar11 + iVar1);" (assignment_expression "puVar10 = (undefined4 *)(puVar11 + iVar1)" identifier = (cast_expression "(undefined4 *)(puVar11 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + iVar1)" ( (binary_expression "puVar11 + iVar1" identifier + identifier) )))) ;) (if_statement "if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }" if (parenthesized_expression "(puVar21 == puVar7)" ( (binary_expression "puVar21 == puVar7" identifier == identifier) )) (compound_statement "{\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }" { (if_statement "if (puVar22 == (undefined *)0x0) {\n        return;\n      }" if (parenthesized_expression "(puVar22 == (undefined *)0x0)" ( (binary_expression "puVar22 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" 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          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }" else (compound_statement "{\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }" { (do_statement "do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);" do (compound_statement "{\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      }" { (while_statement "while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }" { (expression_statement "puVar24 = puVar21;" (assignment_expression "puVar24 = puVar21" identifier = identifier) ;) (expression_statement "puVar7 = puVar10;" (assignment_expression "puVar7 = puVar10" identifier = identifier) ;) (expression_statement "pOVar17 = (Output_segment *)*puVar24;" (assignment_expression "pOVar17 = (Output_segment *)*puVar24" identifier = (cast_expression "(Output_segment *)*puVar24" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar24" * identifier))) ;) (expression_statement "uVar13 = *(undefined4 *)(pOVar17 + 0x16c);" (assignment_expression "uVar13 = *(undefined4 *)(pOVar17 + 0x16c)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x16c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x16c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x16c)" ( (binary_expression "pOVar17 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x174);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x174)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x174)" * (cast_expression "(undefined4 *)(pOVar17 + 0x174)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x174)" ( (binary_expression "pOVar17 + 0x174" identifier + number_literal) ))))) ;) (expression_statement "in_t0 = *(undefined **)(pOVar17 + 0x198);" (assignment_expression "in_t0 = *(undefined **)(pOVar17 + 0x198)" identifier = (pointer_expression "*(undefined **)(pOVar17 + 0x198)" * (cast_expression "(undefined **)(pOVar17 + 0x198)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pOVar17 + 0x198)" ( (binary_expression "pOVar17 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(pOVar17 + 0x18c);" (assignment_expression "uVar16 = *(undefined4 *)(pOVar17 + 0x18c)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x18c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x18c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x18c)" ( (binary_expression "pOVar17 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)(pOVar17 + 0x194);" (assignment_expression "uVar8 = *(undefined4 *)(pOVar17 + 0x194)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x194)" * (cast_expression "(undefined4 *)(pOVar17 + 0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x194)" ( (binary_expression "pOVar17 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);" (assignment_expression "puVar7[2] = *(undefined4 *)(pOVar17 + 0x164)" (subscript_expression "puVar7[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x164)" * (cast_expression "(undefined4 *)(pOVar17 + 0x164)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x164)" ( (binary_expression "pOVar17 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "puVar7[3] = uVar13;" (assignment_expression "puVar7[3] = uVar13" (subscript_expression "puVar7[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar7 = in_t0;" (assignment_expression "*puVar7 = in_t0" (pointer_expression "*puVar7" * identifier) = identifier) ;) (expression_statement "puVar7[1] = uVar16;" (assignment_expression "puVar7[1] = uVar16" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[4] = uVar8;" (assignment_expression "puVar7[4] = uVar8" (subscript_expression "puVar7[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[5] = uVar2;" (assignment_expression "puVar7[5] = uVar2" (subscript_expression "puVar7[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);" (assignment_expression "puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c)" (subscript_expression "puVar7[6]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x19c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x19c)" ( (binary_expression "pOVar17 + 0x19c" identifier + number_literal) ))))) ;) (ERROR "uVar28 = Output_segment::" (assignment_expression "uVar28 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar17);" (call_expression "maximum_alignment(pOVar17)" identifier (argument_list "(pOVar17)" ( identifier ))) ;) (expression_statement "uVar5 = (uint)((ulonglong)uVar28 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar28 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar28 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;" if (parenthesized_expression "((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             )" ( (binary_expression "(uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))" (parenthesized_expression "(uVar5 <= *(uint *)(pOVar17 + 0x180))" ( (binary_expression "uVar5 <= *(uint *)(pOVar17 + 0x180)" identifier <= (pointer_expression "*(uint *)(pOVar17 + 0x180)" * (cast_expression "(uint *)(pOVar17 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x180)" ( (binary_expression "pOVar17 + 0x180" identifier + number_literal) ))))) )) && (parenthesized_expression "((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))" ( (parenthesized_expression "(uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184)))" ( (binary_expression "uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))" (binary_expression "uVar5 != *(uint *)(pOVar17 + 0x180)" identifier != (pointer_expression "*(uint *)(pOVar17 + 0x180)" * (cast_expression "(uint *)(pOVar17 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x180)" ( (binary_expression "pOVar17 + 0x180" identifier + number_literal) ))))) || (parenthesized_expression "((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))" ( (binary_expression "(uint)uVar28 <= *(uint *)(pOVar17 + 0x184)" (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) <= (pointer_expression "*(uint *)(pOVar17 + 0x184)" * (cast_expression "(uint *)(pOVar17 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x184)" ( (binary_expression "pOVar17 + 0x184" identifier + number_literal) ))))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = *(int *)(this + 0x24);" (assignment_expression "iVar3 = *(int *)(this + 0x24)" identifier = (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) ))))) ;) (expression_statement "puVar7[7] = (uint)uVar28;" (assignment_expression "puVar7[7] = (uint)uVar28" (subscript_expression "puVar7[7]" identifier [ number_literal ]) = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10 = puVar7 + 8;" (assignment_expression "puVar10 = puVar7 + 8" identifier = (binary_expression "puVar7 + 8" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar24 + 1;" (assignment_expression "puVar21 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (if_statement "if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;" if (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) == puVar24 + 1)" ( (binary_expression "*(undefined4 **)(iVar3 + 4) == puVar24 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" * (cast_expression "(undefined4 **)(iVar3 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == (binary_expression "puVar24 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0022fff4;" goto statement_identifier ;)) })) (expression_statement "iVar3 = *(int *)(this + 0x24);" (assignment_expression "iVar3 = *(int *)(this + 0x24)" identifier = (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) ))))) ;) (expression_statement "puVar7[7] = *(uint *)(pOVar17 + 0x184);" (assignment_expression "puVar7[7] = *(uint *)(pOVar17 + 0x184)" (subscript_expression "puVar7[7]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(pOVar17 + 0x184)" * (cast_expression "(uint *)(pOVar17 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x184)" ( (binary_expression "pOVar17 + 0x184" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = puVar7 + 8;" (assignment_expression "puVar10 = puVar7 + 8" identifier = (binary_expression "puVar7 + 8" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar24 + 1;" (assignment_expression "puVar21 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) != puVar24 + 1)" ( (binary_expression "*(undefined4 **)(iVar3 + 4) != puVar24 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" * (cast_expression "(undefined4 **)(iVar3 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) != (binary_expression "puVar24 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_0022fff4:\n      puVar21 = puVar24 + 1;" statement_identifier : (expression_statement "puVar21 = puVar24 + 1;" (assignment_expression "puVar21 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;)) (expression_statement "puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));" (assignment_expression "puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)))" identifier = (cast_expression "(undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)))" ( (binary_expression "(int)puVar7 + (0x20 - (int)(puVar11 + iVar1))" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x20 - (int)(puVar11 + iVar1))" ( (binary_expression "0x20 - (int)(puVar11 + iVar1)" number_literal - (cast_expression "(int)(puVar11 + iVar1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar11 + iVar1)" ( (binary_expression "puVar11 + iVar1" identifier + identifier) )))) ))) )))) ;) (if_statement "if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }" if (parenthesized_expression "((-1 < (int)puVar20) && (puVar20 == puVar22))" ( (binary_expression "(-1 < (int)puVar20) && (puVar20 == puVar22)" (parenthesized_expression "(-1 < (int)puVar20)" ( (binary_expression "-1 < (int)puVar20" number_literal < (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(puVar20 == puVar22)" ( (binary_expression "puVar20 == puVar22" identifier == identifier) ))) )) (compound_statement "{\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }" { (expression_statement "puVar20 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "puVar20 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;" 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)) )) (goto_statement "goto LAB_00230074;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) (while_statement "while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }" { (expression_statement "puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;" (assignment_expression "puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x2b48" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x48b4" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_00230074:\n      param_1 = (Output_file *)0xe3;" statement_identifier : (expression_statement "param_1 = (Output_file *)0xe3;" (assignment_expression "param_1 = (Output_file *)0xe3" identifier = (cast_expression "(Output_file *)0xe3" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11,0xe3,puVar20 + -0x2a78)" ( identifier , number_literal , (binary_expression "puVar20 + -0x2a78" identifier + number_literal) ))) ;) (expression_statement "puVar7 = extraout_v1;" (assignment_expression "puVar7 = extraout_v1" identifier = identifier) ;) (labeled_statement "LAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);" (assignment_expression "in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0)" identifier = (cast_expression "(undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(undefined **)(param_1 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined **)(param_1 + 0xc) < in_t0)" ( (binary_expression "*(undefined **)(param_1 + 0xc) < in_t0" (pointer_expression "*(undefined **)(param_1 + 0xc)" * (cast_expression "(undefined **)(param_1 + 0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (undefined *)0x0) break;" if (parenthesized_expression "(in_t0 == (undefined *)0x0)" ( (binary_expression "in_t0 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002300a0:\n      FUN_00212d10();" statement_identifier : (expression_statement "FUN_00212d10();" (call_expression "FUN_00212d10()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002300ac:\n      uVar2 = 0x19e;" statement_identifier : (expression_statement "uVar2 = 0x19e;" (assignment_expression "uVar2 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) (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, true>\n   DWARF original prototype: void do_sized_write<32,_true>(Output_segment_headers * this,\n   Output_file * of) */\n\nvoid __thiscall\ngold::Output_segment_headers::do_sized_write<32,_true>(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 *extraout_v1;\n  uint uVar11;\n  undefined1 *puVar12;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  Output_file *pOVar13;\n  undefined *puVar14;\n  int *piVar15;\n  undefined4 uVar16;\n  size_t sVar17;\n  uint uVar18;\n  uint uVar19;\n  Elf_Word EVar20;\n  Output_file *pOVar21;\n  undefined *puVar22;\n  uchar *in_t0;\n  Output_segment *pOVar23;\n  int *piVar24;\n  uchar *puVar25;\n  Elf_Word *pEVar26;\n  uchar *puVar27;\n  uchar *puVar28;\n  undefined4 *puVar29;\n  uchar *puVar30;\n  int *piVar31;\n  Elf_Word *pEVar32;\n  code *pcVar33;\n  int iVar34;\n  undefined *puVar35;\n  code *pcVar36;\n  uint64_t uVar37;\n  code *pcVar38;\n  undefined4 in_stack_ffffff6c;\n  undefined *puVar39;\n  undefined4 in_stack_ffffffa4;\n  int iVar40;\n  undefined4 in_stack_ffffffdc;\n  \n  iVar34 = 0x4c9240;\n  puVar10 = *(undefined4 **)&(this->super_Output_data).field_0x24;\n  iVar5 = *(int *)&(this->super_Output_data).field_0x20;\n  iVar40 = 0x4c9240;\n  puVar29 = (undefined4 *)*puVar10;\n  puVar10 = (undefined4 *)puVar10[1];\n  if (-1 < iVar5 << 1) {\n    sVar17 = 0xcf;\n    puVar14 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar14,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar35 = puVar22 + 0x299170;\n    pOVar21 = (Output_file *)**(undefined4 **)(puVar14 + 0x24);\n    pOVar13 = (Output_file *)(*(undefined4 **)(puVar14 + 0x24))[1];\n    if (-1 < *(int *)(puVar14 + 0x20) << 1) {\n      sVar17 = 0xcf;\n      pcVar33 = *(code **)(puVar22 + 0x291960);\n      iVar40 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar33)(iVar40,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      pcVar36 = pcVar33 + 0x298e7c;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar40 + 0x24);\n      pOVar13 = (Output_file *)(*(undefined4 **)(iVar40 + 0x24))[1];\n      if (-1 < *(int *)(iVar40 + 0x20) << 1) {\n        pcVar36 = *(code **)(pcVar33 + 0x29166c);\n        puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574);\n        (*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc);\n        piVar15 = (int *)puVar10[2];\n        while (piVar15 != (int *)0x0) {\n          piVar15 = (int *)*piVar15;\n          (**(code **)(pcVar36 + 0x290cbc))();\n        }\n        (**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2);\n        puVar10[3] = 0;\n        puVar10[2] = 0;\n        if ((undefined4 *)*puVar10 == puVar10 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar36 + 0x290cbc))();\n        return;\n      }\n      puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);\n      pcVar38 = pcVar36;\n      if (*(int *)(iVar40 + 0x10) != 0) goto LAB_0023061c;\n      if (*(uchar **)(iVar40 + 0x14) != puVar30) goto LAB_0023061c;\n      pOVar6 = *(Output_file **)(pcVar33 + 0x291558);\n      if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n      iVar5 = *(int *)(iVar40 + 0x1c);\n      if (*(int *)(iVar40 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar30 + iVar5;\n      pOVar6 = *(Output_file **)(sVar17 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_00230610;\n      if (pOVar6 == pOVar8) goto LAB_002305fc;\n      do {\n        pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5);\n        pEVar4 = pEVar32;\n        if (pOVar21 == pOVar13) {\n          if (puVar30 == (uchar *)0x0) {\n            return;\n          }\n          uVar16 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar36 + -0x7924);\nLAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);\n          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);\nLAB_002305e4:\n          sVar17 = 0xe3;\n          pOVar6 = pOVar6 + -0x1c5;\n          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);\n          (**(code **)(pcVar36 + -0x7810))();\n          iVar5 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);\nLAB_0023061c:\n          uVar16 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);\n    puVar39 = puVar35;\n    if (*(int *)(puVar14 + 0x10) != 0) goto LAB_002303a0;\n    if (*(uchar **)(puVar14 + 0x14) != puVar30) goto LAB_002303a0;\n    pOVar6 = *(Output_file **)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n    iVar40 = *(int *)(puVar14 + 0x1c);\n    if (*(int *)(puVar14 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar30 + iVar40;\n    pOVar6 = *(Output_file **)(sVar17 + 8);\n    pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(puVar14 + 0x18));\n    if ((int)pOVar6 < (int)pOVar8) goto LAB_00230394;\n    if (pOVar6 == pOVar8) goto LAB_00230380;\n    do {\n      piVar31 = (int *)(*(int *)(sVar17 + 0x10) + iVar40);\n      piVar15 = piVar31;\n      if (pOVar21 == pOVar13) {\n        if (puVar30 == (uchar *)0x0) {\n          return;\n        }\n        uVar16 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        } while ((int *)puVar12 != &pOVar13->o_);\nLAB_002302e4:\n        pOVar21 = (Output_file *)&pOVar13->o_;\n        puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));\n        uVar16 = 0x1ab;\n        if (-1 < (int)puVar25) {\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar40 = *(int *)(puVar35 + -0x7924);\nLAB_00230354:\n        pOVar6 = (Output_file *)(iVar40 + -0x2b58);\n        (**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16);\nLAB_00230368:\n        sVar17 = 0xe3;\n        pOVar6 = pOVar6 + -0x1c5;\n        pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574);\n        (**(code **)(puVar35 + -0x7810))();\n        iVar40 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_00230394:\n        Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);\nLAB_002303a0:\n        uVar16 = 0x19e;\n      }\n    } while( true );\n  }\n  puVar30 = (uchar *)((int)puVar10 - (int)puVar29 >> 2);\n  if (*(int *)&(this->super_Output_data).data_size_ != 0) goto LAB_002300ac;\n  puVar30 = (uchar *)((int)puVar30 * 0x20);\n  if (*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar30) goto LAB_002300ac;\n  puVar22 = PTR_s_in_a_linker_script_004c191c;\n  if (-1 < iVar5 << 2) goto LAB_00230074;\n  iVar5 = *(int *)&(this->super_Output_data).offset_;\n  pOVar13 = *(Output_file **)((int)&(this->super_Output_data).offset_ + 4);\n  pOVar21 = (Output_file *)PTR_s_in_a_linker_script_004c191c;\n  if (iVar5 < 0) goto LAB_002300a0;\n  in_t0 = puVar30 + (int)pOVar13;\n  pOVar21 = *(Output_file **)&of->file_size_;\n  pOVar6 = (Output_file *)((uint)(in_t0 < puVar30) + iVar5);\n  if ((int)pOVar21 < (int)pOVar6) goto LAB_002300a0;\n  if (pOVar21 == pOVar6) goto LAB_0023008c;\n  do {\n    puVar27 = of->base_;\n    puVar25 = puVar27 + (int)pOVar13;\n    if (puVar29 == puVar10) {\n      if (puVar30 == (uchar *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }\n        iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n        *(uint *)(puVar28 + 0x1c) = uVar11;\n        puVar25 = puVar28 + 0x20;\n        puVar29 = puVar10 + 1;\n      } while (*(undefined4 **)(iVar5 + 4) != puVar10 + 1);\nLAB_0022fff4:\n      puVar29 = puVar10 + 1;\n      if ((-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&\n         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)) {\n        puVar22 = *(undefined **)(iVar34 + -0x7924);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar16 = 0x1ab;\n    while( true ) {\n      puVar22 = (undefined *)(*(int *)(iVar34 + -0x7924) + -0x2b48);\n      (**(code **)(iVar34 + -0x7810))(*(int *)(iVar34 + -0x7924) + -0x48b4,uVar16);\nLAB_00230074:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar22 + -0x2a78);\n      pOVar13 = (Output_file *)(*(int *)(iVar34 + -0x7fc4) + 0x3574);\n      (**(code **)(iVar34 + -0x7810))();\n      puVar10 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_002300a0:\n      Output_file::get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_002300ac:\n      uVar16 = 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,_true>(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 "_true>(Output_segment_headers" identifier > ( identifier) (pointer_declarator "*this" * identifier) , (ERROR "Output_file *of)\n\n{\n  uint64_t" 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 *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "Output_file *pOVar13;" type_identifier (pointer_declarator "*pOVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier 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 "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "uchar *in_t0;" type_identifier (pointer_declarator "*in_t0" * identifier) ;) (declaration "Output_segment *pOVar23;" type_identifier (pointer_declarator "*pOVar23" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "uchar *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "Elf_Word *pEVar26;" type_identifier (pointer_declarator "*pEVar26" * identifier) ;) (declaration "uchar *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uchar *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "undefined4 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "uchar *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "int *piVar31;" primitive_type (pointer_declarator "*piVar31" * identifier) ;) (declaration "Elf_Word *pEVar32;" type_identifier (pointer_declarator "*pEVar32" * identifier) ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "undefined *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "uint64_t uVar37;" primitive_type identifier ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "undefined4 in_stack_ffffff6c;" type_identifier identifier ;) (declaration "undefined *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "undefined4 in_stack_ffffffa4;" type_identifier identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffdc;" type_identifier identifier ;) (expression_statement "iVar34 = 0x4c9240;" (assignment_expression "iVar34 = 0x4c9240" 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 "iVar40 = 0x4c9240;" (assignment_expression "iVar40 = 0x4c9240" identifier = number_literal) ;) (expression_statement "puVar29 = (undefined4 *)*puVar10;" (assignment_expression "puVar29 = (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    sVar17 = 0xcf;\n    puVar14 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar14,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar35 = puVar22 + 0x299170;\n    pOVar21 = (Output_file *)**(undefined4 **)(puVar14 + 0x24);\n    pOVar13 = (Output_file *)(*(undefined4 **)(puVar14 + 0x24))[1];\n    if (-1 < *(int *)(puVar14 + 0x20) << 1) {\n      sVar17 = 0xcf;\n      pcVar33 = *(code **)(puVar22 + 0x291960);\n      iVar40 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar33)(iVar40,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      pcVar36 = pcVar33 + 0x298e7c;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar40 + 0x24);\n      pOVar13 = (Output_file *)(*(undefined4 **)(iVar40 + 0x24))[1];\n      if (-1 < *(int *)(iVar40 + 0x20) << 1) {\n        pcVar36 = *(code **)(pcVar33 + 0x29166c);\n        puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574);\n        (*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc);\n        piVar15 = (int *)puVar10[2];\n        while (piVar15 != (int *)0x0) {\n          piVar15 = (int *)*piVar15;\n          (**(code **)(pcVar36 + 0x290cbc))();\n        }\n        (**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2);\n        puVar10[3] = 0;\n        puVar10[2] = 0;\n        if ((undefined4 *)*puVar10 == puVar10 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar36 + 0x290cbc))();\n        return;\n      }\n      puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);\n      pcVar38 = pcVar36;\n      if (*(int *)(iVar40 + 0x10) != 0) goto LAB_0023061c;\n      if (*(uchar **)(iVar40 + 0x14) != puVar30) goto LAB_0023061c;\n      pOVar6 = *(Output_file **)(pcVar33 + 0x291558);\n      if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n      iVar5 = *(int *)(iVar40 + 0x1c);\n      if (*(int *)(iVar40 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar30 + iVar5;\n      pOVar6 = *(Output_file **)(sVar17 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_00230610;\n      if (pOVar6 == pOVar8) goto LAB_002305fc;\n      do {\n        pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5);\n        pEVar4 = pEVar32;\n        if (pOVar21 == pOVar13) {\n          if (puVar30 == (uchar *)0x0) {\n            return;\n          }\n          uVar16 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar36 + -0x7924);\nLAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);\n          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);\nLAB_002305e4:\n          sVar17 = 0xe3;\n          pOVar6 = pOVar6 + -0x1c5;\n          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);\n          (**(code **)(pcVar36 + -0x7810))();\n          iVar5 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);\nLAB_0023061c:\n          uVar16 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);\n    puVar39 = puVar35;\n    if (*(int *)(puVar14 + 0x10) != 0) goto LAB_002303a0;\n    if (*(uchar **)(puVar14 + 0x14) != puVar30) goto LAB_002303a0;\n    pOVar6 = *(Output_file **)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n    iVar40 = *(int *)(puVar14 + 0x1c);\n    if (*(int *)(puVar14 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar30 + iVar40;\n    pOVar6 = *(Output_file **)(sVar17 + 8);\n    pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(puVar14 + 0x18));\n    if ((int)pOVar6 < (int)pOVar8) goto LAB_00230394;\n    if (pOVar6 == pOVar8) goto LAB_00230380;\n    do {\n      piVar31 = (int *)(*(int *)(sVar17 + 0x10) + iVar40);\n      piVar15 = piVar31;\n      if (pOVar21 == pOVar13) {\n        if (puVar30 == (uchar *)0x0) {\n          return;\n        }\n        uVar16 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        } while ((int *)puVar12 != &pOVar13->o_);\nLAB_002302e4:\n        pOVar21 = (Output_file *)&pOVar13->o_;\n        puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));\n        uVar16 = 0x1ab;\n        if (-1 < (int)puVar25) {\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar40 = *(int *)(puVar35 + -0x7924);\nLAB_00230354:\n        pOVar6 = (Output_file *)(iVar40 + -0x2b58);\n        (**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16);\nLAB_00230368:\n        sVar17 = 0xe3;\n        pOVar6 = pOVar6 + -0x1c5;\n        pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574);\n        (**(code **)(puVar35 + -0x7810))();\n        iVar40 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_00230394:\n        Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);\nLAB_002303a0:\n        uVar16 = 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    sVar17 = 0xcf;\n    puVar14 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar14,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar35 = puVar22 + 0x299170;\n    pOVar21 = (Output_file *)**(undefined4 **)(puVar14 + 0x24);\n    pOVar13 = (Output_file *)(*(undefined4 **)(puVar14 + 0x24))[1];\n    if (-1 < *(int *)(puVar14 + 0x20) << 1) {\n      sVar17 = 0xcf;\n      pcVar33 = *(code **)(puVar22 + 0x291960);\n      iVar40 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar33)(iVar40,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      pcVar36 = pcVar33 + 0x298e7c;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar40 + 0x24);\n      pOVar13 = (Output_file *)(*(undefined4 **)(iVar40 + 0x24))[1];\n      if (-1 < *(int *)(iVar40 + 0x20) << 1) {\n        pcVar36 = *(code **)(pcVar33 + 0x29166c);\n        puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574);\n        (*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc);\n        piVar15 = (int *)puVar10[2];\n        while (piVar15 != (int *)0x0) {\n          piVar15 = (int *)*piVar15;\n          (**(code **)(pcVar36 + 0x290cbc))();\n        }\n        (**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2);\n        puVar10[3] = 0;\n        puVar10[2] = 0;\n        if ((undefined4 *)*puVar10 == puVar10 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar36 + 0x290cbc))();\n        return;\n      }\n      puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);\n      pcVar38 = pcVar36;\n      if (*(int *)(iVar40 + 0x10) != 0) goto LAB_0023061c;\n      if (*(uchar **)(iVar40 + 0x14) != puVar30) goto LAB_0023061c;\n      pOVar6 = *(Output_file **)(pcVar33 + 0x291558);\n      if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n      iVar5 = *(int *)(iVar40 + 0x1c);\n      if (*(int *)(iVar40 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar30 + iVar5;\n      pOVar6 = *(Output_file **)(sVar17 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_00230610;\n      if (pOVar6 == pOVar8) goto LAB_002305fc;\n      do {\n        pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5);\n        pEVar4 = pEVar32;\n        if (pOVar21 == pOVar13) {\n          if (puVar30 == (uchar *)0x0) {\n            return;\n          }\n          uVar16 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar36 + -0x7924);\nLAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);\n          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);\nLAB_002305e4:\n          sVar17 = 0xe3;\n          pOVar6 = pOVar6 + -0x1c5;\n          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);\n          (**(code **)(pcVar36 + -0x7810))();\n          iVar5 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);\nLAB_0023061c:\n          uVar16 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);\n    puVar39 = puVar35;\n    if (*(int *)(puVar14 + 0x10) != 0) goto LAB_002303a0;\n    if (*(uchar **)(puVar14 + 0x14) != puVar30) goto LAB_002303a0;\n    pOVar6 = *(Output_file **)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n    iVar40 = *(int *)(puVar14 + 0x1c);\n    if (*(int *)(puVar14 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar30 + iVar40;\n    pOVar6 = *(Output_file **)(sVar17 + 8);\n    pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(puVar14 + 0x18));\n    if ((int)pOVar6 < (int)pOVar8) goto LAB_00230394;\n    if (pOVar6 == pOVar8) goto LAB_00230380;\n    do {\n      piVar31 = (int *)(*(int *)(sVar17 + 0x10) + iVar40);\n      piVar15 = piVar31;\n      if (pOVar21 == pOVar13) {\n        if (puVar30 == (uchar *)0x0) {\n          return;\n        }\n        uVar16 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        } while ((int *)puVar12 != &pOVar13->o_);\nLAB_002302e4:\n        pOVar21 = (Output_file *)&pOVar13->o_;\n        puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));\n        uVar16 = 0x1ab;\n        if (-1 < (int)puVar25) {\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar40 = *(int *)(puVar35 + -0x7924);\nLAB_00230354:\n        pOVar6 = (Output_file *)(iVar40 + -0x2b58);\n        (**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16);\nLAB_00230368:\n        sVar17 = 0xe3;\n        pOVar6 = pOVar6 + -0x1c5;\n        pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574);\n        (**(code **)(puVar35 + -0x7810))();\n        iVar40 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_00230394:\n        Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);\nLAB_002303a0:\n        uVar16 = 0x19e;\n      }\n    } while( true );\n  }" { (expression_statement "sVar17 = 0xcf;" (assignment_expression "sVar17 = 0xcf" identifier = number_literal) ;) (expression_statement "puVar14 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar14 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;) (expression_statement "puVar22 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar22 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar14,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar14,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc)" ( identifier , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x29fc" identifier + number_literal) ))) ;) (expression_statement "puVar35 = puVar22 + 0x299170;" (assignment_expression "puVar35 = puVar22 + 0x299170" identifier = (binary_expression "puVar22 + 0x299170" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)**(undefined4 **)(puVar14 + 0x24);" (assignment_expression "pOVar21 = (Output_file *)**(undefined4 **)(puVar14 + 0x24)" identifier = (cast_expression "(Output_file *)**(undefined4 **)(puVar14 + 0x24)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar14 + 0x24)" * (pointer_expression "*(undefined4 **)(puVar14 + 0x24)" * (cast_expression "(undefined4 **)(puVar14 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x24)" ( (binary_expression "puVar14 + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "pOVar13 = (Output_file *)(*(undefined4 **)(puVar14 + 0x24))[1];" (assignment_expression "pOVar13 = (Output_file *)(*(undefined4 **)(puVar14 + 0x24))[1]" identifier = (cast_expression "(Output_file *)(*(undefined4 **)(puVar14 + 0x24))[1]" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(puVar14 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(puVar14 + 0x24))" ( (pointer_expression "*(undefined4 **)(puVar14 + 0x24)" * (cast_expression "(undefined4 **)(puVar14 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x24)" ( (binary_expression "puVar14 + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(puVar14 + 0x20) << 1) {\n      sVar17 = 0xcf;\n      pcVar33 = *(code **)(puVar22 + 0x291960);\n      iVar40 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar33)(iVar40,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      pcVar36 = pcVar33 + 0x298e7c;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar40 + 0x24);\n      pOVar13 = (Output_file *)(*(undefined4 **)(iVar40 + 0x24))[1];\n      if (-1 < *(int *)(iVar40 + 0x20) << 1) {\n        pcVar36 = *(code **)(pcVar33 + 0x29166c);\n        puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574);\n        (*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc);\n        piVar15 = (int *)puVar10[2];\n        while (piVar15 != (int *)0x0) {\n          piVar15 = (int *)*piVar15;\n          (**(code **)(pcVar36 + 0x290cbc))();\n        }\n        (**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2);\n        puVar10[3] = 0;\n        puVar10[2] = 0;\n        if ((undefined4 *)*puVar10 == puVar10 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar36 + 0x290cbc))();\n        return;\n      }\n      puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);\n      pcVar38 = pcVar36;\n      if (*(int *)(iVar40 + 0x10) != 0) goto LAB_0023061c;\n      if (*(uchar **)(iVar40 + 0x14) != puVar30) goto LAB_0023061c;\n      pOVar6 = *(Output_file **)(pcVar33 + 0x291558);\n      if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n      iVar5 = *(int *)(iVar40 + 0x1c);\n      if (*(int *)(iVar40 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar30 + iVar5;\n      pOVar6 = *(Output_file **)(sVar17 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_00230610;\n      if (pOVar6 == pOVar8) goto LAB_002305fc;\n      do {\n        pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5);\n        pEVar4 = pEVar32;\n        if (pOVar21 == pOVar13) {\n          if (puVar30 == (uchar *)0x0) {\n            return;\n          }\n          uVar16 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar36 + -0x7924);\nLAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);\n          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);\nLAB_002305e4:\n          sVar17 = 0xe3;\n          pOVar6 = pOVar6 + -0x1c5;\n          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);\n          (**(code **)(pcVar36 + -0x7810))();\n          iVar5 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);\nLAB_0023061c:\n          uVar16 = 0x19e;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(-1 < *(int *)(puVar14 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(puVar14 + 0x20) << 1" number_literal < (binary_expression "*(int *)(puVar14 + 0x20) << 1" (pointer_expression "*(int *)(puVar14 + 0x20)" * (cast_expression "(int *)(puVar14 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x20)" ( (binary_expression "puVar14 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n      sVar17 = 0xcf;\n      pcVar33 = *(code **)(puVar22 + 0x291960);\n      iVar40 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar33)(iVar40,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      pcVar36 = pcVar33 + 0x298e7c;\n      pOVar21 = (Output_file *)**(undefined4 **)(iVar40 + 0x24);\n      pOVar13 = (Output_file *)(*(undefined4 **)(iVar40 + 0x24))[1];\n      if (-1 < *(int *)(iVar40 + 0x20) << 1) {\n        pcVar36 = *(code **)(pcVar33 + 0x29166c);\n        puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574);\n        (*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc);\n        piVar15 = (int *)puVar10[2];\n        while (piVar15 != (int *)0x0) {\n          piVar15 = (int *)*piVar15;\n          (**(code **)(pcVar36 + 0x290cbc))();\n        }\n        (**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2);\n        puVar10[3] = 0;\n        puVar10[2] = 0;\n        if ((undefined4 *)*puVar10 == puVar10 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar36 + 0x290cbc))();\n        return;\n      }\n      puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);\n      pcVar38 = pcVar36;\n      if (*(int *)(iVar40 + 0x10) != 0) goto LAB_0023061c;\n      if (*(uchar **)(iVar40 + 0x14) != puVar30) goto LAB_0023061c;\n      pOVar6 = *(Output_file **)(pcVar33 + 0x291558);\n      if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n      iVar5 = *(int *)(iVar40 + 0x1c);\n      if (*(int *)(iVar40 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar30 + iVar5;\n      pOVar6 = *(Output_file **)(sVar17 + 8);\n      pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18));\n      if ((int)pOVar6 < (int)pOVar8) goto LAB_00230610;\n      if (pOVar6 == pOVar8) goto LAB_002305fc;\n      do {\n        pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5);\n        pEVar4 = pEVar32;\n        if (pOVar21 == pOVar13) {\n          if (puVar30 == (uchar *)0x0) {\n            return;\n          }\n          uVar16 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar36 + -0x7924);\nLAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);\n          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);\nLAB_002305e4:\n          sVar17 = 0xe3;\n          pOVar6 = pOVar6 + -0x1c5;\n          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);\n          (**(code **)(pcVar36 + -0x7810))();\n          iVar5 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);\nLAB_0023061c:\n          uVar16 = 0x19e;\n        }\n      } while( true );\n    }" { (expression_statement "sVar17 = 0xcf;" (assignment_expression "sVar17 = 0xcf" identifier = number_literal) ;) (expression_statement "pcVar33 = *(code **)(puVar22 + 0x291960);" (assignment_expression "pcVar33 = *(code **)(puVar22 + 0x291960)" identifier = (pointer_expression "*(code **)(puVar22 + 0x291960)" * (cast_expression "(code **)(puVar22 + 0x291960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x291960)" ( (binary_expression "puVar22 + 0x291960" identifier + number_literal) ))))) ;) (expression_statement "iVar40 = *(int *)(puVar22 + 0x2911ac) + 0x3574;" (assignment_expression "iVar40 = *(int *)(puVar22 + 0x2911ac) + 0x3574" identifier = (binary_expression "*(int *)(puVar22 + 0x2911ac) + 0x3574" (pointer_expression "*(int *)(puVar22 + 0x2911ac)" * (cast_expression "(int *)(puVar22 + 0x2911ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x2911ac)" ( (binary_expression "puVar22 + 0x2911ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar33)(iVar40,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);" (call_expression "(*pcVar33)(iVar40,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc)" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "(iVar40,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc)" ( identifier , number_literal , (binary_expression "*(int *)(puVar22 + 0x29184c) + -0x29fc" (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar36 = pcVar33 + 0x298e7c;" (assignment_expression "pcVar36 = pcVar33 + 0x298e7c" identifier = (binary_expression "pcVar33 + 0x298e7c" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)**(undefined4 **)(iVar40 + 0x24);" (assignment_expression "pOVar21 = (Output_file *)**(undefined4 **)(iVar40 + 0x24)" identifier = (cast_expression "(Output_file *)**(undefined4 **)(iVar40 + 0x24)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar40 + 0x24)" * (pointer_expression "*(undefined4 **)(iVar40 + 0x24)" * (cast_expression "(undefined4 **)(iVar40 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar40 + 0x24)" ( (binary_expression "iVar40 + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "pOVar13 = (Output_file *)(*(undefined4 **)(iVar40 + 0x24))[1];" (assignment_expression "pOVar13 = (Output_file *)(*(undefined4 **)(iVar40 + 0x24))[1]" identifier = (cast_expression "(Output_file *)(*(undefined4 **)(iVar40 + 0x24))[1]" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(iVar40 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(iVar40 + 0x24))" ( (pointer_expression "*(undefined4 **)(iVar40 + 0x24)" * (cast_expression "(undefined4 **)(iVar40 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar40 + 0x24)" ( (binary_expression "iVar40 + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(iVar40 + 0x20) << 1) {\n        pcVar36 = *(code **)(pcVar33 + 0x29166c);\n        puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574);\n        (*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc);\n        piVar15 = (int *)puVar10[2];\n        while (piVar15 != (int *)0x0) {\n          piVar15 = (int *)*piVar15;\n          (**(code **)(pcVar36 + 0x290cbc))();\n        }\n        (**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2);\n        puVar10[3] = 0;\n        puVar10[2] = 0;\n        if ((undefined4 *)*puVar10 == puVar10 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar36 + 0x290cbc))();\n        return;\n      }" if (parenthesized_expression "(-1 < *(int *)(iVar40 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar40 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar40 + 0x20) << 1" (pointer_expression "*(int *)(iVar40 + 0x20)" * (cast_expression "(int *)(iVar40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x20)" ( (binary_expression "iVar40 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n        pcVar36 = *(code **)(pcVar33 + 0x29166c);\n        puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574);\n        (*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc);\n        piVar15 = (int *)puVar10[2];\n        while (piVar15 != (int *)0x0) {\n          piVar15 = (int *)*piVar15;\n          (**(code **)(pcVar36 + 0x290cbc))();\n        }\n        (**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2);\n        puVar10[3] = 0;\n        puVar10[2] = 0;\n        if ((undefined4 *)*puVar10 == puVar10 + 6) {\n          return;\n        }\n                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar36 + 0x290cbc))();\n        return;\n      }" { (expression_statement "pcVar36 = *(code **)(pcVar33 + 0x29166c);" (assignment_expression "pcVar36 = *(code **)(pcVar33 + 0x29166c)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x29166c)" * (cast_expression "(code **)(pcVar33 + 0x29166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x29166c)" ( (binary_expression "pcVar33 + 0x29166c" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574);" (assignment_expression "puVar10 = (undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar33 + 0x290eb8) + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x290eb8) + 0x3574)" ( (binary_expression "*(int *)(pcVar33 + 0x290eb8) + 0x3574" (pointer_expression "*(int *)(pcVar33 + 0x290eb8)" * (cast_expression "(int *)(pcVar33 + 0x290eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x290eb8)" ( (binary_expression "pcVar33 + 0x290eb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc);" (call_expression "(*pcVar36)(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(puVar10,0xcf,*(int *)(pcVar33 + 0x291558) + -0x29fc)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar33 + 0x291558) + -0x29fc" (pointer_expression "*(int *)(pcVar33 + 0x291558)" * (cast_expression "(int *)(pcVar33 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x291558)" ( (binary_expression "pcVar33 + 0x291558" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar15 = (int *)puVar10[2];" (assignment_expression "piVar15 = (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 (piVar15 != (int *)0x0) {\n          piVar15 = (int *)*piVar15;\n          (**(code **)(pcVar36 + 0x290cbc))();\n        }" while (parenthesized_expression "(piVar15 != (int *)0x0)" ( (binary_expression "piVar15 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar15 = (int *)*piVar15;\n          (**(code **)(pcVar36 + 0x290cbc))();\n        }" { (expression_statement "piVar15 = (int *)*piVar15;" (assignment_expression "piVar15 = (int *)*piVar15" identifier = (cast_expression "(int *)*piVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar15" * identifier))) ;) (expression_statement "(**(code **)(pcVar36 + 0x290cbc))();" (call_expression "(**(code **)(pcVar36 + 0x290cbc))()" (parenthesized_expression "(**(code **)(pcVar36 + 0x290cbc))" ( (pointer_expression "**(code **)(pcVar36 + 0x290cbc)" * (pointer_expression "*(code **)(pcVar36 + 0x290cbc)" * (cast_expression "(code **)(pcVar36 + 0x290cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x290cbc)" ( (binary_expression "pcVar36 + 0x290cbc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2);" (call_expression "(**(code **)(pcVar36 + 0x295628))(*puVar10,0,puVar10[1] << 2)" (parenthesized_expression "(**(code **)(pcVar36 + 0x295628))" ( (pointer_expression "**(code **)(pcVar36 + 0x295628)" * (pointer_expression "*(code **)(pcVar36 + 0x295628)" * (cast_expression "(code **)(pcVar36 + 0x295628)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x295628)" ( (binary_expression "pcVar36 + 0x295628" 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 ;) })) comment comment (expression_statement "(**(code **)(pcVar36 + 0x290cbc))();" (call_expression "(**(code **)(pcVar36 + 0x290cbc))()" (parenthesized_expression "(**(code **)(pcVar36 + 0x290cbc))" ( (pointer_expression "**(code **)(pcVar36 + 0x290cbc)" * (pointer_expression "*(code **)(pcVar36 + 0x290cbc)" * (cast_expression "(code **)(pcVar36 + 0x290cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x290cbc)" ( (binary_expression "pcVar36 + 0x290cbc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);" (assignment_expression "puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38)" identifier = (cast_expression "(uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38)" ( (binary_expression "((int)pOVar13 - (int)pOVar21 >> 2) * 0x38" (parenthesized_expression "((int)pOVar13 - (int)pOVar21 >> 2)" ( (binary_expression "(int)pOVar13 - (int)pOVar21 >> 2" (binary_expression "(int)pOVar13 - (int)pOVar21" (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar21" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) ;) (expression_statement "pcVar38 = pcVar36;" (assignment_expression "pcVar38 = pcVar36" identifier = identifier) ;) (if_statement "if (*(int *)(iVar40 + 0x10) != 0) goto LAB_0023061c;" if (parenthesized_expression "(*(int *)(iVar40 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar40 + 0x10) != 0" (pointer_expression "*(int *)(iVar40 + 0x10)" * (cast_expression "(int *)(iVar40 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x10)" ( (binary_expression "iVar40 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0023061c;" goto statement_identifier ;)) (if_statement "if (*(uchar **)(iVar40 + 0x14) != puVar30) goto LAB_0023061c;" if (parenthesized_expression "(*(uchar **)(iVar40 + 0x14) != puVar30)" ( (binary_expression "*(uchar **)(iVar40 + 0x14) != puVar30" (pointer_expression "*(uchar **)(iVar40 + 0x14)" * (cast_expression "(uchar **)(iVar40 + 0x14)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar40 + 0x14)" ( (binary_expression "iVar40 + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_0023061c;" goto statement_identifier ;)) (expression_statement "pOVar6 = *(Output_file **)(pcVar33 + 0x291558);" (assignment_expression "pOVar6 = *(Output_file **)(pcVar33 + 0x291558)" identifier = (pointer_expression "*(Output_file **)(pcVar33 + 0x291558)" * (cast_expression "(Output_file **)(pcVar33 + 0x291558)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x291558)" ( (binary_expression "pcVar33 + 0x291558" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;" if (parenthesized_expression "(-1 < *(int *)(iVar40 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar40 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar40 + 0x20) << 2" (pointer_expression "*(int *)(iVar40 + 0x20)" * (cast_expression "(int *)(iVar40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x20)" ( (binary_expression "iVar40 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_002305e4;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(iVar40 + 0x1c);" (assignment_expression "iVar5 = *(int *)(iVar40 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar40 + 0x1c)" * (cast_expression "(int *)(iVar40 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x1c)" ( (binary_expression "iVar40 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar40 + 0x18) < 0) goto LAB_00230610;" if (parenthesized_expression "(*(int *)(iVar40 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar40 + 0x18) < 0" (pointer_expression "*(int *)(iVar40 + 0x18)" * (cast_expression "(int *)(iVar40 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x18)" ( (binary_expression "iVar40 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_00230610;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar30 + iVar5;" (assignment_expression "in_t0 = puVar30 + iVar5" identifier = (binary_expression "puVar30 + iVar5" identifier + identifier)) ;) (expression_statement "pOVar6 = *(Output_file **)(sVar17 + 8);" (assignment_expression "pOVar6 = *(Output_file **)(sVar17 + 8)" identifier = (pointer_expression "*(Output_file **)(sVar17 + 8)" * (cast_expression "(Output_file **)(sVar17 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18));" (assignment_expression "pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18))" identifier = (cast_expression "(Output_file *)((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18))" ( (binary_expression "(uint)(in_t0 < puVar30) + *(int *)(iVar40 + 0x18)" (call_expression "(uint)(in_t0 < puVar30)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar30)" ( (binary_expression "in_t0 < puVar30" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar40 + 0x18)" * (cast_expression "(int *)(iVar40 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x18)" ( (binary_expression "iVar40 + 0x18" identifier + number_literal) ))))) )))) ;) (if_statement "if ((int)pOVar6 < (int)pOVar8) goto LAB_00230610;" 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_00230610;" goto statement_identifier ;)) (if_statement "if (pOVar6 == pOVar8) goto LAB_002305fc;" if (parenthesized_expression "(pOVar6 == pOVar8)" ( (binary_expression "pOVar6 == pOVar8" identifier == identifier) )) (goto_statement "goto LAB_002305fc;" goto statement_identifier ;)) (do_statement "do {\n        pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5);\n        pEVar4 = pEVar32;\n        if (pOVar21 == pOVar13) {\n          if (puVar30 == (uchar *)0x0) {\n            return;\n          }\n          uVar16 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar36 + -0x7924);\nLAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);\n          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);\nLAB_002305e4:\n          sVar17 = 0xe3;\n          pOVar6 = pOVar6 + -0x1c5;\n          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);\n          (**(code **)(pcVar36 + -0x7810))();\n          iVar5 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);\nLAB_0023061c:\n          uVar16 = 0x19e;\n        }\n      } while( true );" do (compound_statement "{\n        pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5);\n        pEVar4 = pEVar32;\n        if (pOVar21 == pOVar13) {\n          if (puVar30 == (uchar *)0x0) {\n            return;\n          }\n          uVar16 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar5 = *(int *)(pcVar36 + -0x7924);\nLAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);\n          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);\nLAB_002305e4:\n          sVar17 = 0xe3;\n          pOVar6 = pOVar6 + -0x1c5;\n          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);\n          (**(code **)(pcVar36 + -0x7810))();\n          iVar5 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);\nLAB_0023061c:\n          uVar16 = 0x19e;\n        }\n      }" { (expression_statement "pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5);" (assignment_expression "pEVar32 = (Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5)" identifier = (cast_expression "(Elf_Word *)(*(int *)(sVar17 + 0x10) + iVar5)" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar17 + 0x10) + iVar5)" ( (binary_expression "*(int *)(sVar17 + 0x10) + iVar5" (pointer_expression "*(int *)(sVar17 + 0x10)" * (cast_expression "(int *)(sVar17 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x10)" ( (binary_expression "sVar17 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "pEVar4 = pEVar32;" (assignment_expression "pEVar4 = pEVar32" identifier = identifier) ;) (if_statement "if (pOVar21 == pOVar13) {\n          if (puVar30 == (uchar *)0x0) {\n            return;\n          }\n          uVar16 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" if (parenthesized_expression "(pOVar21 == pOVar13)" ( (binary_expression "pOVar21 == pOVar13" identifier == identifier) )) (compound_statement "{\n          if (puVar30 == (uchar *)0x0) {\n            return;\n          }\n          uVar16 = 0x1ab;\n        }" { (if_statement "if (puVar30 == (uchar *)0x0) {\n            return;\n          }" if (parenthesized_expression "(puVar30 == (uchar *)0x0)" ( (binary_expression "puVar30 == (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 "uVar16 = 0x1ab;" (assignment_expression "uVar16 = 0x1ab" identifier = number_literal) ;) }) (else_clause "else {\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" else (compound_statement "{\n          do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);\nLAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;\n          puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));\n          uVar16 = 0x1ab;\n          if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" { (do_statement "do {\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          } while ((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_);" do (compound_statement "{\n            while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }\n            iVar5 = *(int *)(iVar40 + 0x24);\n            pEVar26[0xc] = uVar11;\n            pEVar26[0xd] = uVar18;\n            pEVar4 = pEVar26 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n          }" { (while_statement "while( true ) {\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pcVar36 = pcVar38;\n              pOVar13 = pOVar21;\n              pEVar26 = pEVar4;\n              pOVar23 = (Output_segment *)pOVar13->name_;\n              EVar9 = *(Elf_Word *)&pOVar23->offset_;\n              EVar20 = pOVar23->type_;\n              pEVar26[3] = (Elf_Word)pOVar23->offset_;\n              pEVar26[2] = EVar9;\n              uVar37 = pOVar23->vaddr_;\n              EVar9 = *(Elf_Word *)&pOVar23->vaddr_;\n              *pEVar26 = EVar20;\n              EVar20 = pOVar23->flags_;\n              pEVar26[5] = (Elf_Word)uVar37;\n              pEVar26[4] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->paddr_;\n              pEVar26[7] = (Elf_Word)pOVar23->paddr_;\n              pEVar26[6] = EVar9;\n              EVar9 = *(Elf_Word *)&pOVar23->filesz_;\n              pEVar26[9] = (Elf_Word)pOVar23->filesz_;\n              pEVar26[8] = EVar9;\n              uVar37 = pOVar23->memsz_;\n              EVar9 = *(Elf_Word *)&pOVar23->memsz_;\n              pEVar26[1] = EVar20;\n              pEVar26[0xb] = (Elf_Word)uVar37;\n              pEVar26[10] = EVar9;\n              uVar37 = Output_segment::maximum_alignment(pOVar23);\n              uVar7 = (uint)(uVar37 >> 0x20);\n              uVar11 = *(uint *)&pOVar23->min_p_align_;\n              uVar18 = (uint)pOVar23->min_p_align_;\n              pcVar38 = pcVar36;\n              if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;\n              iVar5 = *(int *)(iVar40 + 0x24);\n              *(uint64_t *)(pEVar26 + 0xc) = uVar37;\n              pEVar4 = pEVar26 + 0xe;\n              pOVar21 = (Output_file *)&pOVar13->o_;\n              if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;\n            }" { (expression_statement "pcVar36 = pcVar38;" (assignment_expression "pcVar36 = pcVar38" identifier = identifier) ;) (expression_statement "pOVar13 = pOVar21;" (assignment_expression "pOVar13 = pOVar21" identifier = identifier) ;) (expression_statement "pEVar26 = pEVar4;" (assignment_expression "pEVar26 = pEVar4" identifier = identifier) ;) (expression_statement "pOVar23 = (Output_segment *)pOVar13->name_;" (assignment_expression "pOVar23 = (Output_segment *)pOVar13->name_" identifier = (cast_expression "(Output_segment *)pOVar13->name_" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar13->name_" identifier -> field_identifier))) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar23->offset_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar23->offset_" identifier = (pointer_expression "*(Elf_Word *)&pOVar23->offset_" * (cast_expression "(Elf_Word *)&pOVar23->offset_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->offset_" & (field_expression "pOVar23->offset_" identifier -> field_identifier))))) ;) (expression_statement "EVar20 = pOVar23->type_;" (assignment_expression "EVar20 = pOVar23->type_" identifier = (field_expression "pOVar23->type_" identifier -> field_identifier)) ;) (expression_statement "pEVar26[3] = (Elf_Word)pOVar23->offset_;" (assignment_expression "pEVar26[3] = (Elf_Word)pOVar23->offset_" (subscript_expression "pEVar26[3]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)pOVar23->offset_" ( (type_descriptor "Elf_Word" type_identifier) ) (field_expression "pOVar23->offset_" identifier -> field_identifier))) ;) (expression_statement "pEVar26[2] = EVar9;" (assignment_expression "pEVar26[2] = EVar9" (subscript_expression "pEVar26[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar37 = pOVar23->vaddr_;" (assignment_expression "uVar37 = pOVar23->vaddr_" identifier = (field_expression "pOVar23->vaddr_" identifier -> field_identifier)) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar23->vaddr_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar23->vaddr_" identifier = (pointer_expression "*(Elf_Word *)&pOVar23->vaddr_" * (cast_expression "(Elf_Word *)&pOVar23->vaddr_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->vaddr_" & (field_expression "pOVar23->vaddr_" identifier -> field_identifier))))) ;) (expression_statement "*pEVar26 = EVar20;" (assignment_expression "*pEVar26 = EVar20" (pointer_expression "*pEVar26" * identifier) = identifier) ;) (expression_statement "EVar20 = pOVar23->flags_;" (assignment_expression "EVar20 = pOVar23->flags_" identifier = (field_expression "pOVar23->flags_" identifier -> field_identifier)) ;) (expression_statement "pEVar26[5] = (Elf_Word)uVar37;" (assignment_expression "pEVar26[5] = (Elf_Word)uVar37" (subscript_expression "pEVar26[5]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)uVar37" ( (type_descriptor "Elf_Word" type_identifier) ) identifier)) ;) (expression_statement "pEVar26[4] = EVar9;" (assignment_expression "pEVar26[4] = EVar9" (subscript_expression "pEVar26[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar23->paddr_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar23->paddr_" identifier = (pointer_expression "*(Elf_Word *)&pOVar23->paddr_" * (cast_expression "(Elf_Word *)&pOVar23->paddr_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->paddr_" & (field_expression "pOVar23->paddr_" identifier -> field_identifier))))) ;) (expression_statement "pEVar26[7] = (Elf_Word)pOVar23->paddr_;" (assignment_expression "pEVar26[7] = (Elf_Word)pOVar23->paddr_" (subscript_expression "pEVar26[7]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)pOVar23->paddr_" ( (type_descriptor "Elf_Word" type_identifier) ) (field_expression "pOVar23->paddr_" identifier -> field_identifier))) ;) (expression_statement "pEVar26[6] = EVar9;" (assignment_expression "pEVar26[6] = EVar9" (subscript_expression "pEVar26[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar23->filesz_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar23->filesz_" identifier = (pointer_expression "*(Elf_Word *)&pOVar23->filesz_" * (cast_expression "(Elf_Word *)&pOVar23->filesz_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->filesz_" & (field_expression "pOVar23->filesz_" identifier -> field_identifier))))) ;) (expression_statement "pEVar26[9] = (Elf_Word)pOVar23->filesz_;" (assignment_expression "pEVar26[9] = (Elf_Word)pOVar23->filesz_" (subscript_expression "pEVar26[9]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)pOVar23->filesz_" ( (type_descriptor "Elf_Word" type_identifier) ) (field_expression "pOVar23->filesz_" identifier -> field_identifier))) ;) (expression_statement "pEVar26[8] = EVar9;" (assignment_expression "pEVar26[8] = EVar9" (subscript_expression "pEVar26[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar37 = pOVar23->memsz_;" (assignment_expression "uVar37 = pOVar23->memsz_" identifier = (field_expression "pOVar23->memsz_" identifier -> field_identifier)) ;) (expression_statement "EVar9 = *(Elf_Word *)&pOVar23->memsz_;" (assignment_expression "EVar9 = *(Elf_Word *)&pOVar23->memsz_" identifier = (pointer_expression "*(Elf_Word *)&pOVar23->memsz_" * (cast_expression "(Elf_Word *)&pOVar23->memsz_" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->memsz_" & (field_expression "pOVar23->memsz_" identifier -> field_identifier))))) ;) (expression_statement "pEVar26[1] = EVar20;" (assignment_expression "pEVar26[1] = EVar20" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pEVar26[0xb] = (Elf_Word)uVar37;" (assignment_expression "pEVar26[0xb] = (Elf_Word)uVar37" (subscript_expression "pEVar26[0xb]" identifier [ number_literal ]) = (cast_expression "(Elf_Word)uVar37" ( (type_descriptor "Elf_Word" type_identifier) ) identifier)) ;) (expression_statement "pEVar26[10] = EVar9;" (assignment_expression "pEVar26[10] = EVar9" (subscript_expression "pEVar26[10]" identifier [ number_literal ]) = identifier) ;) (ERROR "uVar37 = Output_segment::" (assignment_expression "uVar37 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar23);" (call_expression "maximum_alignment(pOVar23)" identifier (argument_list "(pOVar23)" ( identifier ))) ;) (expression_statement "uVar7 = (uint)(uVar37 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar37 >> 0x20)" identifier = (call_expression "(uint)(uVar37 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar37 >> 0x20)" ( (binary_expression "uVar37 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar11 = *(uint *)&pOVar23->min_p_align_;" (assignment_expression "uVar11 = *(uint *)&pOVar23->min_p_align_" identifier = (pointer_expression "*(uint *)&pOVar23->min_p_align_" * (cast_expression "(uint *)&pOVar23->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->min_p_align_" & (field_expression "pOVar23->min_p_align_" identifier -> field_identifier))))) ;) (expression_statement "uVar18 = (uint)pOVar23->min_p_align_;" (assignment_expression "uVar18 = (uint)pOVar23->min_p_align_" identifier = (cast_expression "(uint)pOVar23->min_p_align_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar23->min_p_align_" identifier -> field_identifier))) ;) (expression_statement "pcVar38 = pcVar36;" (assignment_expression "pcVar38 = pcVar36" identifier = identifier) ;) (if_statement "if ((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))) break;" if (parenthesized_expression "((uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18))))" ( (binary_expression "(uVar7 <= uVar11) && ((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))" (parenthesized_expression "(uVar7 <= uVar11)" ( (binary_expression "uVar7 <= uVar11" identifier <= identifier) )) && (parenthesized_expression "((uVar7 != uVar11 || ((uint)uVar37 <= uVar18)))" ( (parenthesized_expression "(uVar7 != uVar11 || ((uint)uVar37 <= uVar18))" ( (binary_expression "uVar7 != uVar11 || ((uint)uVar37 <= uVar18)" (binary_expression "uVar7 != uVar11" identifier != identifier) || (parenthesized_expression "((uint)uVar37 <= uVar18)" ( (binary_expression "(uint)uVar37 <= uVar18" (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = *(int *)(iVar40 + 0x24);" (assignment_expression "iVar5 = *(int *)(iVar40 + 0x24)" identifier = (pointer_expression "*(int *)(iVar40 + 0x24)" * (cast_expression "(int *)(iVar40 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x24)" ( (binary_expression "iVar40 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(uint64_t *)(pEVar26 + 0xc) = uVar37;" (assignment_expression "*(uint64_t *)(pEVar26 + 0xc) = uVar37" (pointer_expression "*(uint64_t *)(pEVar26 + 0xc)" * (cast_expression "(uint64_t *)(pEVar26 + 0xc)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar26 + 0xc)" ( (binary_expression "pEVar26 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "pEVar4 = pEVar26 + 0xe;" (assignment_expression "pEVar4 = pEVar26 + 0xe" identifier = (binary_expression "pEVar26 + 0xe" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)&pOVar13->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar13->o_" identifier = (cast_expression "(Output_file *)&pOVar13->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier)))) ;) (if_statement "if ((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_) goto LAB_00230560;" if (parenthesized_expression "((int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->o_)" ( (binary_expression "(int *)*(undefined1 **)(iVar5 + 4) == &pOVar13->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 "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier))) )) (goto_statement "goto LAB_00230560;" goto statement_identifier ;)) })) (expression_statement "iVar5 = *(int *)(iVar40 + 0x24);" (assignment_expression "iVar5 = *(int *)(iVar40 + 0x24)" identifier = (pointer_expression "*(int *)(iVar40 + 0x24)" * (cast_expression "(int *)(iVar40 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x24)" ( (binary_expression "iVar40 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pEVar26[0xc] = uVar11;" (assignment_expression "pEVar26[0xc] = uVar11" (subscript_expression "pEVar26[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pEVar26[0xd] = uVar18;" (assignment_expression "pEVar26[0xd] = uVar18" (subscript_expression "pEVar26[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pEVar4 = pEVar26 + 0xe;" (assignment_expression "pEVar4 = pEVar26 + 0xe" identifier = (binary_expression "pEVar26 + 0xe" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)&pOVar13->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar13->o_" identifier = (cast_expression "(Output_file *)&pOVar13->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "((int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->o_)" ( (binary_expression "(int *)*(undefined1 **)(iVar5 + 4) != &pOVar13->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 "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier))) )) ;) (labeled_statement "LAB_00230560:\n          pOVar21 = (Output_file *)&pOVar13->o_;" statement_identifier : (expression_statement "pOVar21 = (Output_file *)&pOVar13->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar13->o_" identifier = (cast_expression "(Output_file *)&pOVar13->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier)))) ;)) (expression_statement "puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32));" (assignment_expression "puVar25 = (uchar *)((int)pEVar26 + (0x38 - (int)pEVar32))" identifier = (cast_expression "(uchar *)((int)pEVar26 + (0x38 - (int)pEVar32))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar26 + (0x38 - (int)pEVar32))" ( (binary_expression "(int)pEVar26 + (0x38 - (int)pEVar32)" (cast_expression "(int)pEVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x38 - (int)pEVar32)" ( (binary_expression "0x38 - (int)pEVar32" number_literal - (cast_expression "(int)pEVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "uVar16 = 0x1ab;" (assignment_expression "uVar16 = 0x1ab" identifier = number_literal) ;) (if_statement "if (-1 < (int)puVar25) {\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }" if (parenthesized_expression "(-1 < (int)puVar25)" ( (binary_expression "-1 < (int)puVar25" number_literal < (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar5 = *(int *)(pcVar36 + -0x7924);\n            if (puVar25 != puVar30) goto LAB_002305d0;\n            pOVar6 = *(Output_file **)(pcVar36 + -0x7924);\n            if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }" { (expression_statement "iVar5 = *(int *)(pcVar36 + -0x7924);" (assignment_expression "iVar5 = *(int *)(pcVar36 + -0x7924)" identifier = (pointer_expression "*(int *)(pcVar36 + -0x7924)" * (cast_expression "(int *)(pcVar36 + -0x7924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7924)" ( (binary_expression "pcVar36 + -0x7924" identifier + number_literal) ))))) ;) (if_statement "if (puVar25 != puVar30) goto LAB_002305d0;" if (parenthesized_expression "(puVar25 != puVar30)" ( (binary_expression "puVar25 != puVar30" identifier != identifier) )) (goto_statement "goto LAB_002305d0;" goto statement_identifier ;)) (expression_statement "pOVar6 = *(Output_file **)(pcVar36 + -0x7924);" (assignment_expression "pOVar6 = *(Output_file **)(pcVar36 + -0x7924)" identifier = (pointer_expression "*(Output_file **)(pcVar36 + -0x7924)" * (cast_expression "(Output_file **)(pcVar36 + -0x7924)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x7924)" ( (binary_expression "pcVar36 + -0x7924" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar40 + 0x20) << 2) goto LAB_002305e4;" if (parenthesized_expression "(-1 < *(int *)(iVar40 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar40 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar40 + 0x20) << 2" (pointer_expression "*(int *)(iVar40 + 0x20)" * (cast_expression "(int *)(iVar40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x20)" ( (binary_expression "iVar40 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_002305e4;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (while_statement "while( true ) {\n          iVar5 = *(int *)(pcVar36 + -0x7924);\nLAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);\n          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);\nLAB_002305e4:\n          sVar17 = 0xe3;\n          pOVar6 = pOVar6 + -0x1c5;\n          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);\n          (**(code **)(pcVar36 + -0x7810))();\n          iVar5 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);\nLAB_0023061c:\n          uVar16 = 0x19e;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar5 = *(int *)(pcVar36 + -0x7924);\nLAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);\n          (**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);\nLAB_002305e4:\n          sVar17 = 0xe3;\n          pOVar6 = pOVar6 + -0x1c5;\n          pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);\n          (**(code **)(pcVar36 + -0x7810))();\n          iVar5 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n          if (in_t0 == (uchar *)0x0) break;\nLAB_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);\nLAB_0023061c:\n          uVar16 = 0x19e;\n        }" { (expression_statement "iVar5 = *(int *)(pcVar36 + -0x7924);" (assignment_expression "iVar5 = *(int *)(pcVar36 + -0x7924)" identifier = (pointer_expression "*(int *)(pcVar36 + -0x7924)" * (cast_expression "(int *)(pcVar36 + -0x7924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7924)" ( (binary_expression "pcVar36 + -0x7924" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002305d0:\n          pOVar6 = (Output_file *)(iVar5 + -0x2b68);" statement_identifier : (expression_statement "pOVar6 = (Output_file *)(iVar5 + -0x2b68);" (assignment_expression "pOVar6 = (Output_file *)(iVar5 + -0x2b68)" identifier = (cast_expression "(Output_file *)(iVar5 + -0x2b68)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x2b68)" ( (binary_expression "iVar5 + -0x2b68" identifier + number_literal) )))) ;)) (expression_statement "(**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16);" (call_expression "(**(code **)(pcVar36 + -0x7810))(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16)" (parenthesized_expression "(**(code **)(pcVar36 + -0x7810))" ( (pointer_expression "**(code **)(pcVar36 + -0x7810)" * (pointer_expression "*(code **)(pcVar36 + -0x7810)" * (cast_expression "(code **)(pcVar36 + -0x7810)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x7810)" ( (binary_expression "pcVar36 + -0x7810" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + -0x7924) + -0x48b4,uVar16)" ( (binary_expression "*(int *)(pcVar36 + -0x7924) + -0x48b4" (pointer_expression "*(int *)(pcVar36 + -0x7924)" * (cast_expression "(int *)(pcVar36 + -0x7924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7924)" ( (binary_expression "pcVar36 + -0x7924" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_002305e4:\n          sVar17 = 0xe3;" statement_identifier : (expression_statement "sVar17 = 0xe3;" (assignment_expression "sVar17 = 0xe3" identifier = number_literal) ;)) (expression_statement "pOVar6 = pOVar6 + -0x1c5;" (assignment_expression "pOVar6 = pOVar6 + -0x1c5" identifier = (binary_expression "pOVar6 + -0x1c5" identifier + number_literal)) ;) (expression_statement "pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574);" (assignment_expression "pOVar13 = (Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar36 + -0x7fc4) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar36 + -0x7fc4) + 0x3574)" ( (binary_expression "*(int *)(pcVar36 + -0x7fc4) + 0x3574" (pointer_expression "*(int *)(pcVar36 + -0x7fc4)" * (cast_expression "(int *)(pcVar36 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fc4)" ( (binary_expression "pcVar36 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar36 + -0x7810))();" (call_expression "(**(code **)(pcVar36 + -0x7810))()" (parenthesized_expression "(**(code **)(pcVar36 + -0x7810))" ( (pointer_expression "**(code **)(pcVar36 + -0x7810)" * (pointer_expression "*(code **)(pcVar36 + -0x7810)" * (cast_expression "(code **)(pcVar36 + -0x7810)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x7810)" ( (binary_expression "pcVar36 + -0x7810" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = extraout_v1_01;" (assignment_expression "iVar5 = extraout_v1_01" identifier = identifier) ;) (labeled_statement "LAB_002305fc:\n          in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);" (assignment_expression "in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0)" identifier = (cast_expression "(uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(uchar **)(sVar17 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uchar **)(sVar17 + 0xc) < in_t0)" ( (binary_expression "*(uchar **)(sVar17 + 0xc) < in_t0" (pointer_expression "*(uchar **)(sVar17 + 0xc)" * (cast_expression "(uchar **)(sVar17 + 0xc)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 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_00230610:\n          Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);" statement_identifier : (labeled_statement "Output_file::get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6);" (call_expression "get_output_view(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6)" identifier (argument_list "(pOVar13,CONCAT44(pcVar38,in_stack_ffffff6c),sVar17,pOVar6)" ( identifier , (call_expression "CONCAT44(pcVar38,in_stack_ffffff6c)" identifier (argument_list "(pcVar38,in_stack_ffffff6c)" ( identifier , identifier ))) , identifier , identifier ))) ;))) (labeled_statement "LAB_0023061c:\n          uVar16 = 0x19e;" statement_identifier : (expression_statement "uVar16 = 0x19e;" (assignment_expression "uVar16 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38);" (assignment_expression "puVar30 = (uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38)" identifier = (cast_expression "(uchar *)(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)pOVar13 - (int)pOVar21 >> 2) * 0x38)" ( (binary_expression "((int)pOVar13 - (int)pOVar21 >> 2) * 0x38" (parenthesized_expression "((int)pOVar13 - (int)pOVar21 >> 2)" ( (binary_expression "(int)pOVar13 - (int)pOVar21 >> 2" (binary_expression "(int)pOVar13 - (int)pOVar21" (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pOVar21" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) ;) (expression_statement "puVar39 = puVar35;" (assignment_expression "puVar39 = puVar35" identifier = identifier) ;) (if_statement "if (*(int *)(puVar14 + 0x10) != 0) goto LAB_002303a0;" if (parenthesized_expression "(*(int *)(puVar14 + 0x10) != 0)" ( (binary_expression "*(int *)(puVar14 + 0x10) != 0" (pointer_expression "*(int *)(puVar14 + 0x10)" * (cast_expression "(int *)(puVar14 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x10)" ( (binary_expression "puVar14 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_002303a0;" goto statement_identifier ;)) (if_statement "if (*(uchar **)(puVar14 + 0x14) != puVar30) goto LAB_002303a0;" if (parenthesized_expression "(*(uchar **)(puVar14 + 0x14) != puVar30)" ( (binary_expression "*(uchar **)(puVar14 + 0x14) != puVar30" (pointer_expression "*(uchar **)(puVar14 + 0x14)" * (cast_expression "(uchar **)(puVar14 + 0x14)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x14)" ( (binary_expression "puVar14 + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_002303a0;" goto statement_identifier ;)) (expression_statement "pOVar6 = *(Output_file **)(puVar22 + 0x29184c);" (assignment_expression "pOVar6 = *(Output_file **)(puVar22 + 0x29184c)" identifier = (pointer_expression "*(Output_file **)(puVar22 + 0x29184c)" * (cast_expression "(Output_file **)(puVar22 + 0x29184c)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;" if (parenthesized_expression "(-1 < *(int *)(puVar14 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar14 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar14 + 0x20) << 2" (pointer_expression "*(int *)(puVar14 + 0x20)" * (cast_expression "(int *)(puVar14 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x20)" ( (binary_expression "puVar14 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_00230368;" goto statement_identifier ;)) (expression_statement "iVar40 = *(int *)(puVar14 + 0x1c);" (assignment_expression "iVar40 = *(int *)(puVar14 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar14 + 0x1c)" * (cast_expression "(int *)(puVar14 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x1c)" ( (binary_expression "puVar14 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar14 + 0x18) < 0) goto LAB_00230394;" if (parenthesized_expression "(*(int *)(puVar14 + 0x18) < 0)" ( (binary_expression "*(int *)(puVar14 + 0x18) < 0" (pointer_expression "*(int *)(puVar14 + 0x18)" * (cast_expression "(int *)(puVar14 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x18)" ( (binary_expression "puVar14 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_00230394;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar30 + iVar40;" (assignment_expression "in_t0 = puVar30 + iVar40" identifier = (binary_expression "puVar30 + iVar40" identifier + identifier)) ;) (expression_statement "pOVar6 = *(Output_file **)(sVar17 + 8);" (assignment_expression "pOVar6 = *(Output_file **)(sVar17 + 8)" identifier = (pointer_expression "*(Output_file **)(sVar17 + 8)" * (cast_expression "(Output_file **)(sVar17 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(puVar14 + 0x18));" (assignment_expression "pOVar8 = (Output_file *)((uint)(in_t0 < puVar30) + *(int *)(puVar14 + 0x18))" identifier = (cast_expression "(Output_file *)((uint)(in_t0 < puVar30) + *(int *)(puVar14 + 0x18))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(in_t0 < puVar30) + *(int *)(puVar14 + 0x18))" ( (binary_expression "(uint)(in_t0 < puVar30) + *(int *)(puVar14 + 0x18)" (call_expression "(uint)(in_t0 < puVar30)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar30)" ( (binary_expression "in_t0 < puVar30" identifier < identifier) ))) + (pointer_expression "*(int *)(puVar14 + 0x18)" * (cast_expression "(int *)(puVar14 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x18)" ( (binary_expression "puVar14 + 0x18" identifier + number_literal) ))))) )))) ;) (if_statement "if ((int)pOVar6 < (int)pOVar8) goto LAB_00230394;" 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_00230394;" goto statement_identifier ;)) (if_statement "if (pOVar6 == pOVar8) goto LAB_00230380;" if (parenthesized_expression "(pOVar6 == pOVar8)" ( (binary_expression "pOVar6 == pOVar8" identifier == identifier) )) (goto_statement "goto LAB_00230380;" goto statement_identifier ;)) (do_statement "do {\n      piVar31 = (int *)(*(int *)(sVar17 + 0x10) + iVar40);\n      piVar15 = piVar31;\n      if (pOVar21 == pOVar13) {\n        if (puVar30 == (uchar *)0x0) {\n          return;\n        }\n        uVar16 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        } while ((int *)puVar12 != &pOVar13->o_);\nLAB_002302e4:\n        pOVar21 = (Output_file *)&pOVar13->o_;\n        puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));\n        uVar16 = 0x1ab;\n        if (-1 < (int)puVar25) {\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar40 = *(int *)(puVar35 + -0x7924);\nLAB_00230354:\n        pOVar6 = (Output_file *)(iVar40 + -0x2b58);\n        (**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16);\nLAB_00230368:\n        sVar17 = 0xe3;\n        pOVar6 = pOVar6 + -0x1c5;\n        pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574);\n        (**(code **)(puVar35 + -0x7810))();\n        iVar40 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_00230394:\n        Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);\nLAB_002303a0:\n        uVar16 = 0x19e;\n      }\n    } while( true );" do (compound_statement "{\n      piVar31 = (int *)(*(int *)(sVar17 + 0x10) + iVar40);\n      piVar15 = piVar31;\n      if (pOVar21 == pOVar13) {\n        if (puVar30 == (uchar *)0x0) {\n          return;\n        }\n        uVar16 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        } while ((int *)puVar12 != &pOVar13->o_);\nLAB_002302e4:\n        pOVar21 = (Output_file *)&pOVar13->o_;\n        puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));\n        uVar16 = 0x1ab;\n        if (-1 < (int)puVar25) {\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar40 = *(int *)(puVar35 + -0x7924);\nLAB_00230354:\n        pOVar6 = (Output_file *)(iVar40 + -0x2b58);\n        (**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16);\nLAB_00230368:\n        sVar17 = 0xe3;\n        pOVar6 = pOVar6 + -0x1c5;\n        pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574);\n        (**(code **)(puVar35 + -0x7810))();\n        iVar40 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_00230394:\n        Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);\nLAB_002303a0:\n        uVar16 = 0x19e;\n      }\n    }" { (expression_statement "piVar31 = (int *)(*(int *)(sVar17 + 0x10) + iVar40);" (assignment_expression "piVar31 = (int *)(*(int *)(sVar17 + 0x10) + iVar40)" identifier = (cast_expression "(int *)(*(int *)(sVar17 + 0x10) + iVar40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar17 + 0x10) + iVar40)" ( (binary_expression "*(int *)(sVar17 + 0x10) + iVar40" (pointer_expression "*(int *)(sVar17 + 0x10)" * (cast_expression "(int *)(sVar17 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x10)" ( (binary_expression "sVar17 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "piVar15 = piVar31;" (assignment_expression "piVar15 = piVar31" identifier = identifier) ;) (if_statement "if (pOVar21 == pOVar13) {\n        if (puVar30 == (uchar *)0x0) {\n          return;\n        }\n        uVar16 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        } while ((int *)puVar12 != &pOVar13->o_);\nLAB_002302e4:\n        pOVar21 = (Output_file *)&pOVar13->o_;\n        puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));\n        uVar16 = 0x1ab;\n        if (-1 < (int)puVar25) {\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" if (parenthesized_expression "(pOVar21 == pOVar13)" ( (binary_expression "pOVar21 == pOVar13" identifier == identifier) )) (compound_statement "{\n        if (puVar30 == (uchar *)0x0) {\n          return;\n        }\n        uVar16 = 0x1ab;\n      }" { (if_statement "if (puVar30 == (uchar *)0x0) {\n          return;\n        }" if (parenthesized_expression "(puVar30 == (uchar *)0x0)" ( (binary_expression "puVar30 == (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 "uVar16 = 0x1ab;" (assignment_expression "uVar16 = 0x1ab" identifier = number_literal) ;) }) (else_clause "else {\n        do {\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        } while ((int *)puVar12 != &pOVar13->o_);\nLAB_002302e4:\n        pOVar21 = (Output_file *)&pOVar13->o_;\n        puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));\n        uVar16 = 0x1ab;\n        if (-1 < (int)puVar25) {\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" else (compound_statement "{\n        do {\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        } while ((int *)puVar12 != &pOVar13->o_);\nLAB_002302e4:\n        pOVar21 = (Output_file *)&pOVar13->o_;\n        puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));\n        uVar16 = 0x1ab;\n        if (-1 < (int)puVar25) {\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" { (do_statement "do {\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        } while ((int *)puVar12 != &pOVar13->o_);" do (compound_statement "{\n          while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }\n          puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n          piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          piVar15 = piVar24 + 0xe;\n          pOVar21 = (Output_file *)&pOVar13->o_;\n        }" { (while_statement "while( true ) {\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            puVar35 = puVar39;\n            pOVar13 = pOVar21;\n            piVar24 = piVar15;\n            pOVar23 = (Output_segment *)pOVar13->name_;\n            uVar11 = *(uint *)&pOVar23->offset_;\n            uVar7 = (uint)pOVar23->offset_;\n            uVar18 = pOVar23->type_;\n            piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->vaddr_;\n            uVar7 = (uint)pOVar23->vaddr_;\n            *piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            uVar18 = pOVar23->flags_;\n            piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->paddr_;\n            uVar7 = (uint)pOVar23->paddr_;\n            piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->filesz_;\n            uVar7 = (uint)pOVar23->filesz_;\n            piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar11 = *(uint *)&pOVar23->memsz_;\n            uVar7 = (uint)pOVar23->memsz_;\n            piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n            piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            uVar37 = Output_segment::maximum_alignment(pOVar23);\n            uVar7 = (uint)(uVar37 >> 0x20);\n            uVar11 = (uint)uVar37;\n            uVar18 = *(uint *)&pOVar23->min_p_align_;\n            uVar19 = (uint)pOVar23->min_p_align_;\n            puVar39 = puVar35;\n            if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;\n            puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);\n            piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;\n            piVar15 = piVar24 + 0xe;\n            pOVar21 = (Output_file *)&pOVar13->o_;\n            if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;\n          }" { (expression_statement "puVar35 = puVar39;" (assignment_expression "puVar35 = puVar39" identifier = identifier) ;) (expression_statement "pOVar13 = pOVar21;" (assignment_expression "pOVar13 = pOVar21" identifier = identifier) ;) (expression_statement "piVar24 = piVar15;" (assignment_expression "piVar24 = piVar15" identifier = identifier) ;) (expression_statement "pOVar23 = (Output_segment *)pOVar13->name_;" (assignment_expression "pOVar23 = (Output_segment *)pOVar13->name_" identifier = (cast_expression "(Output_segment *)pOVar13->name_" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar13->name_" identifier -> field_identifier))) ;) (expression_statement "uVar11 = *(uint *)&pOVar23->offset_;" (assignment_expression "uVar11 = *(uint *)&pOVar23->offset_" identifier = (pointer_expression "*(uint *)&pOVar23->offset_" * (cast_expression "(uint *)&pOVar23->offset_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->offset_" & (field_expression "pOVar23->offset_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar23->offset_;" (assignment_expression "uVar7 = (uint)pOVar23->offset_" identifier = (cast_expression "(uint)pOVar23->offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar23->offset_" identifier -> field_identifier))) ;) (expression_statement "uVar18 = pOVar23->type_;" (assignment_expression "uVar18 = pOVar23->type_" identifier = (field_expression "pOVar23->type_" identifier -> field_identifier)) ;) (expression_statement "piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[3] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[3]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[2] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[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 "uVar11 = *(uint *)&pOVar23->vaddr_;" (assignment_expression "uVar11 = *(uint *)&pOVar23->vaddr_" identifier = (pointer_expression "*(uint *)&pOVar23->vaddr_" * (cast_expression "(uint *)&pOVar23->vaddr_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->vaddr_" & (field_expression "pOVar23->vaddr_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar23->vaddr_;" (assignment_expression "uVar7 = (uint)pOVar23->vaddr_" identifier = (cast_expression "(uint)pOVar23->vaddr_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar23->vaddr_" identifier -> field_identifier))) ;) (expression_statement "*piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar24 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar24" * identifier) = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar18 = pOVar23->flags_;" (assignment_expression "uVar18 = pOVar23->flags_" identifier = (field_expression "pOVar23->flags_" identifier -> field_identifier)) ;) (expression_statement "piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[5]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[4] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[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 "uVar11 = *(uint *)&pOVar23->paddr_;" (assignment_expression "uVar11 = *(uint *)&pOVar23->paddr_" identifier = (pointer_expression "*(uint *)&pOVar23->paddr_" * (cast_expression "(uint *)&pOVar23->paddr_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->paddr_" & (field_expression "pOVar23->paddr_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar23->paddr_;" (assignment_expression "uVar7 = (uint)pOVar23->paddr_" identifier = (cast_expression "(uint)pOVar23->paddr_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar23->paddr_" identifier -> field_identifier))) ;) (expression_statement "piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[7] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[7]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[6] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[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 "uVar11 = *(uint *)&pOVar23->filesz_;" (assignment_expression "uVar11 = *(uint *)&pOVar23->filesz_" identifier = (pointer_expression "*(uint *)&pOVar23->filesz_" * (cast_expression "(uint *)&pOVar23->filesz_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->filesz_" & (field_expression "pOVar23->filesz_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar23->filesz_;" (assignment_expression "uVar7 = (uint)pOVar23->filesz_" identifier = (cast_expression "(uint)pOVar23->filesz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar23->filesz_" identifier -> field_identifier))) ;) (expression_statement "piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[9] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[9]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[8] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[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 "uVar11 = *(uint *)&pOVar23->memsz_;" (assignment_expression "uVar11 = *(uint *)&pOVar23->memsz_" identifier = (pointer_expression "*(uint *)&pOVar23->memsz_" * (cast_expression "(uint *)&pOVar23->memsz_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->memsz_" & (field_expression "pOVar23->memsz_" identifier -> field_identifier))))) ;) (expression_statement "uVar7 = (uint)pOVar23->memsz_;" (assignment_expression "uVar7 = (uint)pOVar23->memsz_" identifier = (cast_expression "(uint)pOVar23->memsz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar23->memsz_" identifier -> field_identifier))) ;) (expression_statement "piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[1] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[1]" identifier [ number_literal ]) = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[0xb] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[0xb]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[10] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[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 "uVar37 = Output_segment::" (assignment_expression "uVar37 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar23);" (call_expression "maximum_alignment(pOVar23)" identifier (argument_list "(pOVar23)" ( identifier ))) ;) (expression_statement "uVar7 = (uint)(uVar37 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar37 >> 0x20)" identifier = (call_expression "(uint)(uVar37 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar37 >> 0x20)" ( (binary_expression "uVar37 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar11 = (uint)uVar37;" (assignment_expression "uVar11 = (uint)uVar37" identifier = (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar18 = *(uint *)&pOVar23->min_p_align_;" (assignment_expression "uVar18 = *(uint *)&pOVar23->min_p_align_" identifier = (pointer_expression "*(uint *)&pOVar23->min_p_align_" * (cast_expression "(uint *)&pOVar23->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->min_p_align_" & (field_expression "pOVar23->min_p_align_" identifier -> field_identifier))))) ;) (expression_statement "uVar19 = (uint)pOVar23->min_p_align_;" (assignment_expression "uVar19 = (uint)pOVar23->min_p_align_" identifier = (cast_expression "(uint)pOVar23->min_p_align_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar23->min_p_align_" identifier -> field_identifier))) ;) (expression_statement "puVar39 = puVar35;" (assignment_expression "puVar39 = puVar35" identifier = identifier) ;) (if_statement "if ((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))) break;" if (parenthesized_expression "((uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19))))" ( (binary_expression "(uVar7 <= uVar18) && ((uVar7 != uVar18 || (uVar11 <= uVar19)))" (parenthesized_expression "(uVar7 <= uVar18)" ( (binary_expression "uVar7 <= uVar18" identifier <= identifier) )) && (parenthesized_expression "((uVar7 != uVar18 || (uVar11 <= uVar19)))" ( (parenthesized_expression "(uVar7 != uVar18 || (uVar11 <= uVar19))" ( (binary_expression "uVar7 != uVar18 || (uVar11 <= uVar19)" (binary_expression "uVar7 != uVar18" identifier != identifier) || (parenthesized_expression "(uVar11 <= uVar19)" ( (binary_expression "uVar11 <= uVar19" identifier <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);" (assignment_expression "puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4)" identifier = (pointer_expression "*(undefined1 **)(*(int *)(puVar14 + 0x24) + 4)" * (cast_expression "(undefined1 **)(*(int *)(puVar14 + 0x24) + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar14 + 0x24) + 4)" ( (binary_expression "*(int *)(puVar14 + 0x24) + 4" (pointer_expression "*(int *)(puVar14 + 0x24)" * (cast_expression "(int *)(puVar14 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x24)" ( (binary_expression "puVar14 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[0xc] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[0xc]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(int)(uVar37 & 0xff000000ff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(int)(uVar37 & 0xff000000ff) << 8" (cast_expression "(int)(uVar37 & 0xff000000ff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar37 & 0xff000000ff)" ( (binary_expression "uVar37 & 0xff000000ff" identifier & number_literal) ))) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000;" (assignment_expression "piVar24[0xd] = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000" (subscript_expression "piVar24[0xd]" identifier [ number_literal ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar37 & 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)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff) *\n                           0x10000" (parenthesized_expression "((int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(int)((uVar37 & 0xff000000ff) >> 0x20) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(int)((uVar37 & 0xff000000ff) >> 0x20) << 8" (cast_expression "(int)((uVar37 & 0xff000000ff) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uVar37 & 0xff000000ff) >> 0x20)" ( (binary_expression "(uVar37 & 0xff000000ff) >> 0x20" (parenthesized_expression "(uVar37 & 0xff000000ff)" ( (binary_expression "uVar37 & 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 "piVar15 = piVar24 + 0xe;" (assignment_expression "piVar15 = piVar24 + 0xe" identifier = (binary_expression "piVar24 + 0xe" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)&pOVar13->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar13->o_" identifier = (cast_expression "(Output_file *)&pOVar13->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier)))) ;) (if_statement "if ((int *)puVar12 == &pOVar13->o_) goto LAB_002302e4;" if (parenthesized_expression "((int *)puVar12 == &pOVar13->o_)" ( (binary_expression "(int *)puVar12 == &pOVar13->o_" (cast_expression "(int *)puVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) == (pointer_expression "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier))) )) (goto_statement "goto LAB_002302e4;" goto statement_identifier ;)) })) (expression_statement "puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4);" (assignment_expression "puVar12 = *(undefined1 **)(*(int *)(puVar14 + 0x24) + 4)" identifier = (pointer_expression "*(undefined1 **)(*(int *)(puVar14 + 0x24) + 4)" * (cast_expression "(undefined1 **)(*(int *)(puVar14 + 0x24) + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar14 + 0x24) + 4)" ( (binary_expression "*(int *)(puVar14 + 0x24) + 4" (pointer_expression "*(int *)(puVar14 + 0x24)" * (cast_expression "(int *)(puVar14 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x24)" ( (binary_expression "puVar14 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[0xc] = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[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 "piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar24[0xd] = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar24[0xd]" identifier [ number_literal ]) = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar15 = piVar24 + 0xe;" (assignment_expression "piVar15 = piVar24 + 0xe" identifier = (binary_expression "piVar24 + 0xe" identifier + number_literal)) ;) (expression_statement "pOVar21 = (Output_file *)&pOVar13->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar13->o_" identifier = (cast_expression "(Output_file *)&pOVar13->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "((int *)puVar12 != &pOVar13->o_)" ( (binary_expression "(int *)puVar12 != &pOVar13->o_" (cast_expression "(int *)puVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != (pointer_expression "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier))) )) ;) (labeled_statement "LAB_002302e4:\n        pOVar21 = (Output_file *)&pOVar13->o_;" statement_identifier : (expression_statement "pOVar21 = (Output_file *)&pOVar13->o_;" (assignment_expression "pOVar21 = (Output_file *)&pOVar13->o_" identifier = (cast_expression "(Output_file *)&pOVar13->o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar13->o_" & (field_expression "pOVar13->o_" identifier -> field_identifier)))) ;)) (expression_statement "puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31));" (assignment_expression "puVar25 = (uchar *)((int)piVar24 + (0x38 - (int)piVar31))" identifier = (cast_expression "(uchar *)((int)piVar24 + (0x38 - (int)piVar31))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar24 + (0x38 - (int)piVar31))" ( (binary_expression "(int)piVar24 + (0x38 - (int)piVar31)" (cast_expression "(int)piVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x38 - (int)piVar31)" ( (binary_expression "0x38 - (int)piVar31" number_literal - (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "uVar16 = 0x1ab;" (assignment_expression "uVar16 = 0x1ab" identifier = number_literal) ;) (if_statement "if (-1 < (int)puVar25) {\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }" if (parenthesized_expression "(-1 < (int)puVar25)" ( (binary_expression "-1 < (int)puVar25" number_literal < (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar40 = *(int *)(puVar35 + -0x7924);\n          if (puVar25 != puVar30) goto LAB_00230354;\n          pOVar6 = *(Output_file **)(puVar35 + -0x7924);\n          if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }" { (expression_statement "iVar40 = *(int *)(puVar35 + -0x7924);" (assignment_expression "iVar40 = *(int *)(puVar35 + -0x7924)" identifier = (pointer_expression "*(int *)(puVar35 + -0x7924)" * (cast_expression "(int *)(puVar35 + -0x7924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x7924)" ( (binary_expression "puVar35 + -0x7924" identifier + number_literal) ))))) ;) (if_statement "if (puVar25 != puVar30) goto LAB_00230354;" if (parenthesized_expression "(puVar25 != puVar30)" ( (binary_expression "puVar25 != puVar30" identifier != identifier) )) (goto_statement "goto LAB_00230354;" goto statement_identifier ;)) (expression_statement "pOVar6 = *(Output_file **)(puVar35 + -0x7924);" (assignment_expression "pOVar6 = *(Output_file **)(puVar35 + -0x7924)" identifier = (pointer_expression "*(Output_file **)(puVar35 + -0x7924)" * (cast_expression "(Output_file **)(puVar35 + -0x7924)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x7924)" ( (binary_expression "puVar35 + -0x7924" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(puVar14 + 0x20) << 2) goto LAB_00230368;" if (parenthesized_expression "(-1 < *(int *)(puVar14 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar14 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar14 + 0x20) << 2" (pointer_expression "*(int *)(puVar14 + 0x20)" * (cast_expression "(int *)(puVar14 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x20)" ( (binary_expression "puVar14 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_00230368;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (while_statement "while( true ) {\n        iVar40 = *(int *)(puVar35 + -0x7924);\nLAB_00230354:\n        pOVar6 = (Output_file *)(iVar40 + -0x2b58);\n        (**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16);\nLAB_00230368:\n        sVar17 = 0xe3;\n        pOVar6 = pOVar6 + -0x1c5;\n        pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574);\n        (**(code **)(puVar35 + -0x7810))();\n        iVar40 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_00230394:\n        Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);\nLAB_002303a0:\n        uVar16 = 0x19e;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar40 = *(int *)(puVar35 + -0x7924);\nLAB_00230354:\n        pOVar6 = (Output_file *)(iVar40 + -0x2b58);\n        (**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16);\nLAB_00230368:\n        sVar17 = 0xe3;\n        pOVar6 = pOVar6 + -0x1c5;\n        pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574);\n        (**(code **)(puVar35 + -0x7810))();\n        iVar40 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);\n        if (in_t0 == (uchar *)0x0) break;\nLAB_00230394:\n        Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);\nLAB_002303a0:\n        uVar16 = 0x19e;\n      }" { (expression_statement "iVar40 = *(int *)(puVar35 + -0x7924);" (assignment_expression "iVar40 = *(int *)(puVar35 + -0x7924)" identifier = (pointer_expression "*(int *)(puVar35 + -0x7924)" * (cast_expression "(int *)(puVar35 + -0x7924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x7924)" ( (binary_expression "puVar35 + -0x7924" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00230354:\n        pOVar6 = (Output_file *)(iVar40 + -0x2b58);" statement_identifier : (expression_statement "pOVar6 = (Output_file *)(iVar40 + -0x2b58);" (assignment_expression "pOVar6 = (Output_file *)(iVar40 + -0x2b58)" identifier = (cast_expression "(Output_file *)(iVar40 + -0x2b58)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + -0x2b58)" ( (binary_expression "iVar40 + -0x2b58" identifier + number_literal) )))) ;)) (expression_statement "(**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16);" (call_expression "(**(code **)(puVar35 + -0x7810))(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16)" (parenthesized_expression "(**(code **)(puVar35 + -0x7810))" ( (pointer_expression "**(code **)(puVar35 + -0x7810)" * (pointer_expression "*(code **)(puVar35 + -0x7810)" * (cast_expression "(code **)(puVar35 + -0x7810)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x7810)" ( (binary_expression "puVar35 + -0x7810" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar35 + -0x7924) + -0x48b4,uVar16)" ( (binary_expression "*(int *)(puVar35 + -0x7924) + -0x48b4" (pointer_expression "*(int *)(puVar35 + -0x7924)" * (cast_expression "(int *)(puVar35 + -0x7924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x7924)" ( (binary_expression "puVar35 + -0x7924" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_00230368:\n        sVar17 = 0xe3;" statement_identifier : (expression_statement "sVar17 = 0xe3;" (assignment_expression "sVar17 = 0xe3" identifier = number_literal) ;)) (expression_statement "pOVar6 = pOVar6 + -0x1c5;" (assignment_expression "pOVar6 = pOVar6 + -0x1c5" identifier = (binary_expression "pOVar6 + -0x1c5" identifier + number_literal)) ;) (expression_statement "pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574);" (assignment_expression "pOVar13 = (Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(puVar35 + -0x7fc4) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar35 + -0x7fc4) + 0x3574)" ( (binary_expression "*(int *)(puVar35 + -0x7fc4) + 0x3574" (pointer_expression "*(int *)(puVar35 + -0x7fc4)" * (cast_expression "(int *)(puVar35 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x7fc4)" ( (binary_expression "puVar35 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar35 + -0x7810))();" (call_expression "(**(code **)(puVar35 + -0x7810))()" (parenthesized_expression "(**(code **)(puVar35 + -0x7810))" ( (pointer_expression "**(code **)(puVar35 + -0x7810)" * (pointer_expression "*(code **)(puVar35 + -0x7810)" * (cast_expression "(code **)(puVar35 + -0x7810)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + -0x7810)" ( (binary_expression "puVar35 + -0x7810" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar40 = extraout_v1_00;" (assignment_expression "iVar40 = extraout_v1_00" identifier = identifier) ;) (labeled_statement "LAB_00230380:\n        in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0);" (assignment_expression "in_t0 = (uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0)" identifier = (cast_expression "(uchar *)(uint)(*(uchar **)(sVar17 + 0xc) < in_t0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(uchar **)(sVar17 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uchar **)(sVar17 + 0xc) < in_t0)" ( (binary_expression "*(uchar **)(sVar17 + 0xc) < in_t0" (pointer_expression "*(uchar **)(sVar17 + 0xc)" * (cast_expression "(uchar **)(sVar17 + 0xc)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 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_00230394:\n        Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);" statement_identifier : (labeled_statement "Output_file::get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6);" (call_expression "get_output_view(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6)" identifier (argument_list "(pOVar13,CONCAT44(puVar39,in_stack_ffffffa4),sVar17,pOVar6)" ( identifier , (call_expression "CONCAT44(puVar39,in_stack_ffffffa4)" identifier (argument_list "(puVar39,in_stack_ffffffa4)" ( identifier , identifier ))) , identifier , identifier ))) ;))) (labeled_statement "LAB_002303a0:\n        uVar16 = 0x19e;" statement_identifier : (expression_statement "uVar16 = 0x19e;" (assignment_expression "uVar16 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar30 = (uchar *)((int)puVar10 - (int)puVar29 >> 2);" (assignment_expression "puVar30 = (uchar *)((int)puVar10 - (int)puVar29 >> 2)" identifier = (cast_expression "(uchar *)((int)puVar10 - (int)puVar29 >> 2)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 - (int)puVar29 >> 2)" ( (binary_expression "(int)puVar10 - (int)puVar29 >> 2" (binary_expression "(int)puVar10 - (int)puVar29" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) ;) (if_statement "if (*(int *)&(this->super_Output_data).data_size_ != 0) goto LAB_002300ac;" 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_002300ac;" goto statement_identifier ;)) (expression_statement "puVar30 = (uchar *)((int)puVar30 * 0x20);" (assignment_expression "puVar30 = (uchar *)((int)puVar30 * 0x20)" identifier = (cast_expression "(uchar *)((int)puVar30 * 0x20)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar30 * 0x20)" ( (binary_expression "(int)puVar30 * 0x20" (cast_expression "(int)puVar30" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar30) goto LAB_002300ac;" if (parenthesized_expression "(*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar30)" ( (binary_expression "*(uchar **)((int)&(this->super_Output_data).data_size_ + 4) != puVar30" (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_002300ac;" goto statement_identifier ;)) (expression_statement "puVar22 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "puVar22 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) ;) (if_statement "if (-1 < iVar5 << 2) goto LAB_00230074;" if (parenthesized_expression "(-1 < iVar5 << 2)" ( (binary_expression "-1 < iVar5 << 2" number_literal < (binary_expression "iVar5 << 2" identifier << number_literal)) )) (goto_statement "goto LAB_00230074;" 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 "pOVar13 = *(Output_file **)((int)&(this->super_Output_data).offset_ + 4);" (assignment_expression "pOVar13 = *(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_in_a_linker_script_004c191c;" (assignment_expression "pOVar21 = (Output_file *)PTR_s_in_a_linker_script_004c191c" identifier = (cast_expression "(Output_file *)PTR_s_in_a_linker_script_004c191c" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar5 < 0) goto LAB_002300a0;" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (goto_statement "goto LAB_002300a0;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar30 + (int)pOVar13;" (assignment_expression "in_t0 = puVar30 + (int)pOVar13" identifier = (binary_expression "puVar30 + (int)pOVar13" identifier + (cast_expression "(int)pOVar13" ( (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 < puVar30) + iVar5);" (assignment_expression "pOVar6 = (Output_file *)((uint)(in_t0 < puVar30) + iVar5)" identifier = (cast_expression "(Output_file *)((uint)(in_t0 < puVar30) + iVar5)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(in_t0 < puVar30) + iVar5)" ( (binary_expression "(uint)(in_t0 < puVar30) + iVar5" (call_expression "(uint)(in_t0 < puVar30)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar30)" ( (binary_expression "in_t0 < puVar30" identifier < identifier) ))) + identifier) )))) ;) (if_statement "if ((int)pOVar21 < (int)pOVar6) goto LAB_002300a0;" 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_002300a0;" goto statement_identifier ;)) (if_statement "if (pOVar21 == pOVar6) goto LAB_0023008c;" if (parenthesized_expression "(pOVar21 == pOVar6)" ( (binary_expression "pOVar21 == pOVar6" identifier == identifier) )) (goto_statement "goto LAB_0023008c;" goto statement_identifier ;)) (do_statement "do {\n    puVar27 = of->base_;\n    puVar25 = puVar27 + (int)pOVar13;\n    if (puVar29 == puVar10) {\n      if (puVar30 == (uchar *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }\n        iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n        *(uint *)(puVar28 + 0x1c) = uVar11;\n        puVar25 = puVar28 + 0x20;\n        puVar29 = puVar10 + 1;\n      } while (*(undefined4 **)(iVar5 + 4) != puVar10 + 1);\nLAB_0022fff4:\n      puVar29 = puVar10 + 1;\n      if ((-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&\n         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)) {\n        puVar22 = *(undefined **)(iVar34 + -0x7924);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar16 = 0x1ab;\n    while( true ) {\n      puVar22 = (undefined *)(*(int *)(iVar34 + -0x7924) + -0x2b48);\n      (**(code **)(iVar34 + -0x7810))(*(int *)(iVar34 + -0x7924) + -0x48b4,uVar16);\nLAB_00230074:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar22 + -0x2a78);\n      pOVar13 = (Output_file *)(*(int *)(iVar34 + -0x7fc4) + 0x3574);\n      (**(code **)(iVar34 + -0x7810))();\n      puVar10 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_002300a0:\n      Output_file::get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_002300ac:\n      uVar16 = 0x19e;\n    }\n  } while( true );" do (compound_statement "{\n    puVar27 = of->base_;\n    puVar25 = puVar27 + (int)pOVar13;\n    if (puVar29 == puVar10) {\n      if (puVar30 == (uchar *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }\n        iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n        *(uint *)(puVar28 + 0x1c) = uVar11;\n        puVar25 = puVar28 + 0x20;\n        puVar29 = puVar10 + 1;\n      } while (*(undefined4 **)(iVar5 + 4) != puVar10 + 1);\nLAB_0022fff4:\n      puVar29 = puVar10 + 1;\n      if ((-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&\n         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)) {\n        puVar22 = *(undefined **)(iVar34 + -0x7924);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar16 = 0x1ab;\n    while( true ) {\n      puVar22 = (undefined *)(*(int *)(iVar34 + -0x7924) + -0x2b48);\n      (**(code **)(iVar34 + -0x7810))(*(int *)(iVar34 + -0x7924) + -0x48b4,uVar16);\nLAB_00230074:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar22 + -0x2a78);\n      pOVar13 = (Output_file *)(*(int *)(iVar34 + -0x7fc4) + 0x3574);\n      (**(code **)(iVar34 + -0x7810))();\n      puVar10 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_002300a0:\n      Output_file::get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_002300ac:\n      uVar16 = 0x19e;\n    }\n  }" { (expression_statement "puVar27 = of->base_;" (assignment_expression "puVar27 = of->base_" identifier = (field_expression "of->base_" identifier -> field_identifier)) ;) (expression_statement "puVar25 = puVar27 + (int)pOVar13;" (assignment_expression "puVar25 = puVar27 + (int)pOVar13" identifier = (binary_expression "puVar27 + (int)pOVar13" identifier + (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (puVar29 == puVar10) {\n      if (puVar30 == (uchar *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }\n        iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n        *(uint *)(puVar28 + 0x1c) = uVar11;\n        puVar25 = puVar28 + 0x20;\n        puVar29 = puVar10 + 1;\n      } while (*(undefined4 **)(iVar5 + 4) != puVar10 + 1);\nLAB_0022fff4:\n      puVar29 = puVar10 + 1;\n      if ((-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&\n         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)) {\n        puVar22 = *(undefined **)(iVar34 + -0x7924);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;\n        return;\n      }\n    }" if (parenthesized_expression "(puVar29 == puVar10)" ( (binary_expression "puVar29 == puVar10" identifier == identifier) )) (compound_statement "{\n      if (puVar30 == (uchar *)0x0) {\n        return;\n      }\n    }" { (if_statement "if (puVar30 == (uchar *)0x0) {\n        return;\n      }" if (parenthesized_expression "(puVar30 == (uchar *)0x0)" ( (binary_expression "puVar30 == (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          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }\n        iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n        *(uint *)(puVar28 + 0x1c) = uVar11;\n        puVar25 = puVar28 + 0x20;\n        puVar29 = puVar10 + 1;\n      } while (*(undefined4 **)(iVar5 + 4) != puVar10 + 1);\nLAB_0022fff4:\n      puVar29 = puVar10 + 1;\n      if ((-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&\n         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)) {\n        puVar22 = *(undefined **)(iVar34 + -0x7924);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;\n        return;\n      }\n    }" else (compound_statement "{\n      do {\n        while( true ) {\n          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }\n        iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n        *(uint *)(puVar28 + 0x1c) = uVar11;\n        puVar25 = puVar28 + 0x20;\n        puVar29 = puVar10 + 1;\n      } while (*(undefined4 **)(iVar5 + 4) != puVar10 + 1);\nLAB_0022fff4:\n      puVar29 = puVar10 + 1;\n      if ((-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&\n         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)) {\n        puVar22 = *(undefined **)(iVar34 + -0x7924);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;\n        return;\n      }\n    }" { (do_statement "do {\n        while( true ) {\n          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }\n        iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n        *(uint *)(puVar28 + 0x1c) = uVar11;\n        puVar25 = puVar28 + 0x20;\n        puVar29 = puVar10 + 1;\n      } while (*(undefined4 **)(iVar5 + 4) != puVar10 + 1);" do (compound_statement "{\n        while( true ) {\n          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }\n        iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n        *(uint *)(puVar28 + 0x1c) = uVar11;\n        puVar25 = puVar28 + 0x20;\n        puVar29 = puVar10 + 1;\n      }" { (while_statement "while( true ) {\n          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar34 = iVar40;\n          puVar10 = puVar29;\n          puVar28 = puVar25;\n          pOVar23 = (Output_segment *)*puVar10;\n          uVar37 = pOVar23->paddr_;\n          uVar1 = pOVar23->memsz_;\n          in_t0 = (uchar *)pOVar23->type_;\n          oVar2 = pOVar23->offset_;\n          oVar3 = pOVar23->filesz_;\n          *(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;\n          *(int *)(puVar28 + 0xc) = (int)uVar37;\n          *(uchar **)puVar28 = in_t0;\n          *(int *)(puVar28 + 4) = (int)oVar2;\n          *(int *)(puVar28 + 0x10) = (int)oVar3;\n          *(int *)(puVar28 + 0x14) = (int)uVar1;\n          *(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;\n          uVar37 = Output_segment::maximum_alignment(pOVar23);\n          uVar7 = (uint)(uVar37 >> 0x20);\n          uVar11 = (uint)pOVar23->min_p_align_;\n          iVar40 = iVar34;\n          if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;\n          iVar5 = *(int *)&(this->super_Output_data).field_0x24;\n          *(uint *)(puVar28 + 0x1c) = (uint)uVar37;\n          puVar25 = puVar28 + 0x20;\n          puVar29 = puVar10 + 1;\n          if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;\n        }" { (expression_statement "iVar34 = iVar40;" (assignment_expression "iVar34 = iVar40" identifier = identifier) ;) (expression_statement "puVar10 = puVar29;" (assignment_expression "puVar10 = puVar29" identifier = identifier) ;) (expression_statement "puVar28 = puVar25;" (assignment_expression "puVar28 = puVar25" identifier = identifier) ;) (expression_statement "pOVar23 = (Output_segment *)*puVar10;" (assignment_expression "pOVar23 = (Output_segment *)*puVar10" identifier = (cast_expression "(Output_segment *)*puVar10" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "uVar37 = pOVar23->paddr_;" (assignment_expression "uVar37 = pOVar23->paddr_" identifier = (field_expression "pOVar23->paddr_" identifier -> field_identifier)) ;) (expression_statement "uVar1 = pOVar23->memsz_;" (assignment_expression "uVar1 = pOVar23->memsz_" identifier = (field_expression "pOVar23->memsz_" identifier -> field_identifier)) ;) (expression_statement "in_t0 = (uchar *)pOVar23->type_;" (assignment_expression "in_t0 = (uchar *)pOVar23->type_" identifier = (cast_expression "(uchar *)pOVar23->type_" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar23->type_" identifier -> field_identifier))) ;) (expression_statement "oVar2 = pOVar23->offset_;" (assignment_expression "oVar2 = pOVar23->offset_" identifier = (field_expression "pOVar23->offset_" identifier -> field_identifier)) ;) (expression_statement "oVar3 = pOVar23->filesz_;" (assignment_expression "oVar3 = pOVar23->filesz_" identifier = (field_expression "pOVar23->filesz_" identifier -> field_identifier)) ;) (expression_statement "*(int *)(puVar28 + 8) = (int)pOVar23->vaddr_;" (assignment_expression "*(int *)(puVar28 + 8) = (int)pOVar23->vaddr_" (pointer_expression "*(int *)(puVar28 + 8)" * (cast_expression "(int *)(puVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 8)" ( (binary_expression "puVar28 + 8" identifier + number_literal) )))) = (cast_expression "(int)pOVar23->vaddr_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar23->vaddr_" identifier -> field_identifier))) ;) (expression_statement "*(int *)(puVar28 + 0xc) = (int)uVar37;" (assignment_expression "*(int *)(puVar28 + 0xc) = (int)uVar37" (pointer_expression "*(int *)(puVar28 + 0xc)" * (cast_expression "(int *)(puVar28 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0xc)" ( (binary_expression "puVar28 + 0xc" identifier + number_literal) )))) = (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(uchar **)puVar28 = in_t0;" (assignment_expression "*(uchar **)puVar28 = in_t0" (pointer_expression "*(uchar **)puVar28" * (cast_expression "(uchar **)puVar28" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(int *)(puVar28 + 4) = (int)oVar2;" (assignment_expression "*(int *)(puVar28 + 4) = (int)oVar2" (pointer_expression "*(int *)(puVar28 + 4)" * (cast_expression "(int *)(puVar28 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 4)" ( (binary_expression "puVar28 + 4" identifier + number_literal) )))) = (cast_expression "(int)oVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(int *)(puVar28 + 0x10) = (int)oVar3;" (assignment_expression "*(int *)(puVar28 + 0x10) = (int)oVar3" (pointer_expression "*(int *)(puVar28 + 0x10)" * (cast_expression "(int *)(puVar28 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x10)" ( (binary_expression "puVar28 + 0x10" identifier + number_literal) )))) = (cast_expression "(int)oVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(int *)(puVar28 + 0x14) = (int)uVar1;" (assignment_expression "*(int *)(puVar28 + 0x14) = (int)uVar1" (pointer_expression "*(int *)(puVar28 + 0x14)" * (cast_expression "(int *)(puVar28 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x14)" ( (binary_expression "puVar28 + 0x14" identifier + number_literal) )))) = (cast_expression "(int)uVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_;" (assignment_expression "*(Elf_Word *)(puVar28 + 0x18) = pOVar23->flags_" (pointer_expression "*(Elf_Word *)(puVar28 + 0x18)" * (cast_expression "(Elf_Word *)(puVar28 + 0x18)" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x18)" ( (binary_expression "puVar28 + 0x18" identifier + number_literal) )))) = (field_expression "pOVar23->flags_" identifier -> field_identifier)) ;) (ERROR "uVar37 = Output_segment::" (assignment_expression "uVar37 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar23);" (call_expression "maximum_alignment(pOVar23)" identifier (argument_list "(pOVar23)" ( identifier ))) ;) (expression_statement "uVar7 = (uint)(uVar37 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar37 >> 0x20)" identifier = (call_expression "(uint)(uVar37 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar37 >> 0x20)" ( (binary_expression "uVar37 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar11 = (uint)pOVar23->min_p_align_;" (assignment_expression "uVar11 = (uint)pOVar23->min_p_align_" identifier = (cast_expression "(uint)pOVar23->min_p_align_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar23->min_p_align_" identifier -> field_identifier))) ;) (expression_statement "iVar40 = iVar34;" (assignment_expression "iVar40 = iVar34" identifier = identifier) ;) (if_statement "if ((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))) break;" if (parenthesized_expression "((uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11))))" ( (binary_expression "(uVar7 <= *(uint *)&pOVar23->min_p_align_) &&\n             ((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))" (parenthesized_expression "(uVar7 <= *(uint *)&pOVar23->min_p_align_)" ( (binary_expression "uVar7 <= *(uint *)&pOVar23->min_p_align_" identifier <= (pointer_expression "*(uint *)&pOVar23->min_p_align_" * (cast_expression "(uint *)&pOVar23->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->min_p_align_" & (field_expression "pOVar23->min_p_align_" identifier -> field_identifier))))) )) && (parenthesized_expression "((uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)))" ( (parenthesized_expression "(uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11))" ( (binary_expression "uVar7 != *(uint *)&pOVar23->min_p_align_ || ((uint)uVar37 <= uVar11)" (binary_expression "uVar7 != *(uint *)&pOVar23->min_p_align_" identifier != (pointer_expression "*(uint *)&pOVar23->min_p_align_" * (cast_expression "(uint *)&pOVar23->min_p_align_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar23->min_p_align_" & (field_expression "pOVar23->min_p_align_" identifier -> field_identifier))))) || (parenthesized_expression "((uint)uVar37 <= uVar11)" ( (binary_expression "(uint)uVar37 <= uVar11" (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = *(int *)&(this->super_Output_data).field_0x24;" (assignment_expression "iVar5 = *(int *)&(this->super_Output_data).field_0x24" identifier = (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))))) ;) (expression_statement "*(uint *)(puVar28 + 0x1c) = (uint)uVar37;" (assignment_expression "*(uint *)(puVar28 + 0x1c) = (uint)uVar37" (pointer_expression "*(uint *)(puVar28 + 0x1c)" * (cast_expression "(uint *)(puVar28 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x1c)" ( (binary_expression "puVar28 + 0x1c" identifier + number_literal) )))) = (cast_expression "(uint)uVar37" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25 = puVar28 + 0x20;" (assignment_expression "puVar25 = puVar28 + 0x20" identifier = (binary_expression "puVar28 + 0x20" identifier + number_literal)) ;) (expression_statement "puVar29 = puVar10 + 1;" (assignment_expression "puVar29 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (if_statement "if (*(undefined4 **)(iVar5 + 4) == puVar10 + 1) goto LAB_0022fff4;" if (parenthesized_expression "(*(undefined4 **)(iVar5 + 4) == puVar10 + 1)" ( (binary_expression "*(undefined4 **)(iVar5 + 4) == puVar10 + 1" (pointer_expression "*(undefined4 **)(iVar5 + 4)" * (cast_expression "(undefined4 **)(iVar5 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) == (binary_expression "puVar10 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0022fff4;" goto statement_identifier ;)) })) (expression_statement "iVar5 = *(int *)&(this->super_Output_data).field_0x24;" (assignment_expression "iVar5 = *(int *)&(this->super_Output_data).field_0x24" identifier = (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))))) ;) (expression_statement "*(uint *)(puVar28 + 0x1c) = uVar11;" (assignment_expression "*(uint *)(puVar28 + 0x1c) = uVar11" (pointer_expression "*(uint *)(puVar28 + 0x1c)" * (cast_expression "(uint *)(puVar28 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x1c)" ( (binary_expression "puVar28 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar25 = puVar28 + 0x20;" (assignment_expression "puVar25 = puVar28 + 0x20" identifier = (binary_expression "puVar28 + 0x20" identifier + number_literal)) ;) (expression_statement "puVar29 = puVar10 + 1;" (assignment_expression "puVar29 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(undefined4 **)(iVar5 + 4) != puVar10 + 1)" ( (binary_expression "*(undefined4 **)(iVar5 + 4) != puVar10 + 1" (pointer_expression "*(undefined4 **)(iVar5 + 4)" * (cast_expression "(undefined4 **)(iVar5 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) != (binary_expression "puVar10 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_0022fff4:\n      puVar29 = puVar10 + 1;" statement_identifier : (expression_statement "puVar29 = puVar10 + 1;" (assignment_expression "puVar29 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;)) (if_statement "if ((-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&\n         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)) {\n        puVar22 = *(undefined **)(iVar34 + -0x7924);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;\n        return;\n      }" if (parenthesized_expression "((-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&\n         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30))" ( (binary_expression "(-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))) &&\n         (puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)" (parenthesized_expression "(-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13))))" ( (binary_expression "-1 < (int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))" number_literal < (cast_expression "(int)(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)))" ( (binary_expression "puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13))" identifier + (parenthesized_expression "(0x20 - (int)(puVar27 + (int)pOVar13))" ( (binary_expression "0x20 - (int)(puVar27 + (int)pOVar13)" number_literal - (cast_expression "(int)(puVar27 + (int)pOVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar27 + (int)pOVar13)" ( (binary_expression "puVar27 + (int)pOVar13" identifier + (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) )))) )) && (parenthesized_expression "(puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30)" ( (binary_expression "puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13)) == puVar30" (binary_expression "puVar28 + (0x20 - (int)(puVar27 + (int)pOVar13))" identifier + (parenthesized_expression "(0x20 - (int)(puVar27 + (int)pOVar13))" ( (binary_expression "0x20 - (int)(puVar27 + (int)pOVar13)" number_literal - (cast_expression "(int)(puVar27 + (int)pOVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar27 + (int)pOVar13)" ( (binary_expression "puVar27 + (int)pOVar13" identifier + (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) == identifier) ))) )) (compound_statement "{\n        puVar22 = *(undefined **)(iVar34 + -0x7924);\n        if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;\n        return;\n      }" { (expression_statement "puVar22 = *(undefined **)(iVar34 + -0x7924);" (assignment_expression "puVar22 = *(undefined **)(iVar34 + -0x7924)" identifier = (pointer_expression "*(undefined **)(iVar34 + -0x7924)" * (cast_expression "(undefined **)(iVar34 + -0x7924)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + -0x7924)" ( (binary_expression "iVar34 + -0x7924" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)&(this->super_Output_data).field_0x20 << 2) goto LAB_00230074;" 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_00230074;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (expression_statement "uVar16 = 0x1ab;" (assignment_expression "uVar16 = 0x1ab" identifier = number_literal) ;) (while_statement "while( true ) {\n      puVar22 = (undefined *)(*(int *)(iVar34 + -0x7924) + -0x2b48);\n      (**(code **)(iVar34 + -0x7810))(*(int *)(iVar34 + -0x7924) + -0x48b4,uVar16);\nLAB_00230074:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar22 + -0x2a78);\n      pOVar13 = (Output_file *)(*(int *)(iVar34 + -0x7fc4) + 0x3574);\n      (**(code **)(iVar34 + -0x7810))();\n      puVar10 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_002300a0:\n      Output_file::get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_002300ac:\n      uVar16 = 0x19e;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      puVar22 = (undefined *)(*(int *)(iVar34 + -0x7924) + -0x2b48);\n      (**(code **)(iVar34 + -0x7810))(*(int *)(iVar34 + -0x7924) + -0x48b4,uVar16);\nLAB_00230074:\n      of = (Output_file *)0xe3;\n      pOVar21 = (Output_file *)(puVar22 + -0x2a78);\n      pOVar13 = (Output_file *)(*(int *)(iVar34 + -0x7fc4) + 0x3574);\n      (**(code **)(iVar34 + -0x7810))();\n      puVar10 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (uchar *)(uint)(*(uchar **)((int)&of->file_size_ + 4) < in_t0);\n      if (in_t0 == (uchar *)0x0) break;\nLAB_002300a0:\n      Output_file::get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21);\nLAB_002300ac:\n      uVar16 = 0x19e;\n    }" { (expression_statement "puVar22 = (undefined *)(*(int *)(iVar34 + -0x7924) + -0x2b48);" (assignment_expression "puVar22 = (undefined *)(*(int *)(iVar34 + -0x7924) + -0x2b48)" identifier = (cast_expression "(undefined *)(*(int *)(iVar34 + -0x7924) + -0x2b48)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar34 + -0x7924) + -0x2b48)" ( (binary_expression "*(int *)(iVar34 + -0x7924) + -0x2b48" (pointer_expression "*(int *)(iVar34 + -0x7924)" * (cast_expression "(int *)(iVar34 + -0x7924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x7924)" ( (binary_expression "iVar34 + -0x7924" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(iVar34 + -0x7810))(*(int *)(iVar34 + -0x7924) + -0x48b4,uVar16);" (call_expression "(**(code **)(iVar34 + -0x7810))(*(int *)(iVar34 + -0x7924) + -0x48b4,uVar16)" (parenthesized_expression "(**(code **)(iVar34 + -0x7810))" ( (pointer_expression "**(code **)(iVar34 + -0x7810)" * (pointer_expression "*(code **)(iVar34 + -0x7810)" * (cast_expression "(code **)(iVar34 + -0x7810)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + -0x7810)" ( (binary_expression "iVar34 + -0x7810" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar34 + -0x7924) + -0x48b4,uVar16)" ( (binary_expression "*(int *)(iVar34 + -0x7924) + -0x48b4" (pointer_expression "*(int *)(iVar34 + -0x7924)" * (cast_expression "(int *)(iVar34 + -0x7924)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x7924)" ( (binary_expression "iVar34 + -0x7924" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_00230074:\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 *)(puVar22 + -0x2a78);" (assignment_expression "pOVar21 = (Output_file *)(puVar22 + -0x2a78)" identifier = (cast_expression "(Output_file *)(puVar22 + -0x2a78)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x2a78)" ( (binary_expression "puVar22 + -0x2a78" identifier + number_literal) )))) ;) (expression_statement "pOVar13 = (Output_file *)(*(int *)(iVar34 + -0x7fc4) + 0x3574);" (assignment_expression "pOVar13 = (Output_file *)(*(int *)(iVar34 + -0x7fc4) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(iVar34 + -0x7fc4) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar34 + -0x7fc4) + 0x3574)" ( (binary_expression "*(int *)(iVar34 + -0x7fc4) + 0x3574" (pointer_expression "*(int *)(iVar34 + -0x7fc4)" * (cast_expression "(int *)(iVar34 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x7fc4)" ( (binary_expression "iVar34 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(iVar34 + -0x7810))();" (call_expression "(**(code **)(iVar34 + -0x7810))()" (parenthesized_expression "(**(code **)(iVar34 + -0x7810))" ( (pointer_expression "**(code **)(iVar34 + -0x7810)" * (pointer_expression "*(code **)(iVar34 + -0x7810)" * (cast_expression "(code **)(iVar34 + -0x7810)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + -0x7810)" ( (binary_expression "iVar34 + -0x7810" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar10 = extraout_v1;" (assignment_expression "puVar10 = extraout_v1" identifier = identifier) ;) (labeled_statement "LAB_0023008c:\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_002300a0:\n      Output_file::get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21);" statement_identifier : (labeled_statement "Output_file::get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21);" (call_expression "get_output_view(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21)" identifier (argument_list "(pOVar13,CONCAT44(iVar40,in_stack_ffffffdc),(size_t)of,pOVar21)" ( identifier , (call_expression "CONCAT44(iVar40,in_stack_ffffffdc)" identifier (argument_list "(iVar40,in_stack_ffffffdc)" ( identifier , identifier ))) , (cast_expression "(size_t)of" ( (type_descriptor "size_t" primitive_type) ) identifier) , identifier ))) ;))) (labeled_statement "LAB_002300ac:\n      uVar16 = 0x19e;" statement_identifier : (expression_statement "uVar16 = 0x19e;" (assignment_expression "uVar16 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) (ERROR "}" }))
(translation_unit "void __thiscall\ngold::Output_segment_headers::do_sized_write<32,true>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  undefined4 *extraout_v1;\n  uint uVar9;\n  undefined4 *puVar10;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  undefined *puVar11;\n  int *piVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 uVar16;\n  undefined *in_t0;\n  Output_segment *pOVar17;\n  int *piVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined4 *puVar21;\n  undefined *puVar22;\n  int *piVar23;\n  undefined4 *puVar24;\n  undefined4 *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  \n  puVar21 = (undefined4 *)**(undefined4 **)(this + 0x24);\n  puVar7 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];\n  if (-1 < *(int *)(this + 0x20) << 1) {\n    iVar1 = 0xcf;\n    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);\n    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];\n    if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;\n    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;\n    iVar3 = *(int *)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n    iVar3 = *(int *)(puVar20 + 0x1c);\n    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar11 + iVar3;\n    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);\n    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;\n    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;\n    do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );\n  }\n  puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2);\n  if (*(int *)(this + 0x10) != 0) goto LAB_002300ac;\n  puVar22 = (undefined *)((int)puVar22 * 0x20);\n  if (*(undefined **)(this + 0x14) != puVar22) goto LAB_002300ac;\n  puVar20 = PTR_s_in_a_linker_script_004c191c;\n  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n  puVar11 = *(undefined **)(this + 0x1c);\n  if (*(int *)(this + 0x18) < 0) goto LAB_002300a0;\n  in_t0 = puVar22 + (int)puVar11;\n  iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18);\n  if (*(int *)(param_1 + 8) < iVar1) goto LAB_002300a0;\n  if (*(int *)(param_1 + 8) == iVar1) goto LAB_0023008c;\n  do {\n    iVar1 = *(int *)(param_1 + 0x10);\n    puVar10 = (undefined4 *)(puVar11 + iVar1);\n    if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar2 = 0x1ab;\n    while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }\n  } while( true );\n}\n\n" (declaration "void __thiscall\ngold::Output_segment_headers::do_sized_write<32,true>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int iVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_segment_headers::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "true>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int" (function_declarator "true>\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) identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined *in_t0;" type_identifier (pointer_declarator "*in_t0" * identifier) ;) (declaration "Output_segment *pOVar17;" type_identifier (pointer_declarator "*pOVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "ulonglong uVar29;" type_identifier identifier ;) (expression_statement "puVar21 = (undefined4 *)**(undefined4 **)(this + 0x24);" (assignment_expression "puVar21 = (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 "puVar7 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];" (assignment_expression "puVar7 = (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    iVar1 = 0xcf;\n    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);\n    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];\n    if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;\n    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;\n    iVar3 = *(int *)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n    iVar3 = *(int *)(puVar20 + 0x1c);\n    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar11 + iVar3;\n    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);\n    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;\n    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;\n    do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );\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    iVar1 = 0xcf;\n    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);\n    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];\n    if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;\n    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;\n    iVar3 = *(int *)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n    iVar3 = *(int *)(puVar20 + 0x1c);\n    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar11 + iVar3;\n    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);\n    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;\n    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;\n    do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );\n  }" { (expression_statement "iVar1 = 0xcf;" (assignment_expression "iVar1 = 0xcf" identifier = number_literal) ;) (expression_statement "puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;) (expression_statement "puVar22 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar22 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc)" ( identifier , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x29fc" identifier + number_literal) ))) ;) (expression_statement "puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);" (assignment_expression "puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(puVar20 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar20 + 0x24)" * (pointer_expression "*(undefined4 **)(puVar20 + 0x24)" * (cast_expression "(undefined4 **)(puVar20 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];" (assignment_expression "puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1]" identifier = (cast_expression "(undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(puVar20 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(puVar20 + 0x24))" ( (pointer_expression "*(undefined4 **)(puVar20 + 0x24)" * (cast_expression "(undefined4 **)(puVar20 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(-1 < *(int *)(puVar20 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(puVar20 + 0x20) << 1" number_literal < (binary_expression "*(int *)(puVar20 + 0x20) << 1" (pointer_expression "*(int *)(puVar20 + 0x20)" * (cast_expression "(int *)(puVar20 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x20)" ( (binary_expression "puVar20 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }" { (expression_statement "iVar3 = 0xcf;" (assignment_expression "iVar3 = 0xcf" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(puVar22 + 0x291960);" (assignment_expression "pcVar26 = *(code **)(puVar22 + 0x291960)" identifier = (pointer_expression "*(code **)(puVar22 + 0x291960)" * (cast_expression "(code **)(puVar22 + 0x291960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x291960)" ( (binary_expression "puVar22 + 0x291960" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;" (assignment_expression "iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574" identifier = (binary_expression "*(int *)(puVar22 + 0x2911ac) + 0x3574" (pointer_expression "*(int *)(puVar22 + 0x2911ac)" * (cast_expression "(int *)(puVar22 + 0x2911ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x2911ac)" ( (binary_expression "puVar22 + 0x2911ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);" (call_expression "(*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc)" ( identifier , number_literal , (binary_expression "*(int *)(puVar22 + 0x29184c) + -0x29fc" (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);" (assignment_expression "puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(iVar1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar1 + 0x24)" * (pointer_expression "*(undefined4 **)(iVar1 + 0x24)" * (cast_expression "(undefined4 **)(iVar1 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))))) ;) (expression_statement "puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];" (assignment_expression "puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1]" identifier = (cast_expression "(undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*(undefined4 **)(iVar1 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(iVar1 + 0x24))" ( (pointer_expression "*(undefined4 **)(iVar1 + 0x24)" * (cast_expression "(undefined4 **)(iVar1 + 0x24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) )) [ number_literal ]))) ;) (if_statement "if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }" if (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(iVar1 + 0x20) << 1" number_literal < (binary_expression "*(int *)(iVar1 + 0x20) << 1" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }" { (expression_statement "pcVar27 = *(code **)(pcVar26 + 0x29166c);" (assignment_expression "pcVar27 = *(code **)(pcVar26 + 0x29166c)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x29166c)" * (cast_expression "(code **)(pcVar26 + 0x29166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x29166c)" ( (binary_expression "pcVar26 + 0x29166c" identifier + number_literal) ))))) ;) (expression_statement "puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);" (assignment_expression "puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" ( (binary_expression "*(int *)(pcVar26 + 0x290eb8) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x290eb8)" * (cast_expression "(int *)(pcVar26 + 0x290eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x290eb8)" ( (binary_expression "pcVar26 + 0x290eb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);" (call_expression "(*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x291558) + -0x29fc" (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar12 = (int *)puVar7[2];" (assignment_expression "piVar12 = (int *)puVar7[2]" identifier = (cast_expression "(int *)puVar7[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar7[2]" identifier [ number_literal ]))) ;) (while_statement "while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }" while (parenthesized_expression "(piVar12 != (int *)0x0)" ( (binary_expression "piVar12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }" { (expression_statement "piVar12 = (int *)*piVar12;" (assignment_expression "piVar12 = (int *)*piVar12" identifier = (cast_expression "(int *)*piVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar12" * identifier))) ;) (expression_statement "(**(code **)(pcVar27 + 0x290cbc))();" (call_expression "(**(code **)(pcVar27 + 0x290cbc))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x290cbc))" ( (pointer_expression "**(code **)(pcVar27 + 0x290cbc)" * (pointer_expression "*(code **)(pcVar27 + 0x290cbc)" * (cast_expression "(code **)(pcVar27 + 0x290cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x290cbc)" ( (binary_expression "pcVar27 + 0x290cbc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);" (call_expression "(**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2)" (parenthesized_expression "(**(code **)(pcVar27 + 0x295628))" ( (pointer_expression "**(code **)(pcVar27 + 0x295628)" * (pointer_expression "*(code **)(pcVar27 + 0x295628)" * (cast_expression "(code **)(pcVar27 + 0x295628)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x295628)" ( (binary_expression "pcVar27 + 0x295628" identifier + number_literal) ))))) )) (argument_list "(*puVar7,0,puVar7[1] << 2)" ( (pointer_expression "*puVar7" * identifier) , number_literal , (binary_expression "puVar7[1] << 2" (subscript_expression "puVar7[1]" identifier [ number_literal ]) << number_literal) ))) ;) (expression_statement "puVar7[3] = 0;" (assignment_expression "puVar7[3] = 0" (subscript_expression "puVar7[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[2] = 0;" (assignment_expression "puVar7[2] = 0" (subscript_expression "puVar7[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }" if (parenthesized_expression "((undefined4 *)*puVar7 == puVar7 + 6)" ( (binary_expression "(undefined4 *)*puVar7 == puVar7 + 6" (cast_expression "(undefined4 *)*puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier)) == (binary_expression "puVar7 + 6" identifier + number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar27 + 0x290cbc))();" (call_expression "(**(code **)(pcVar27 + 0x290cbc))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x290cbc))" ( (pointer_expression "**(code **)(pcVar27 + 0x290cbc)" * (pointer_expression "*(code **)(pcVar27 + 0x290cbc)" * (cast_expression "(code **)(pcVar27 + 0x290cbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x290cbc)" ( (binary_expression "pcVar27 + 0x290cbc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);" (assignment_expression "puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" identifier = (cast_expression "(undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" ( (binary_expression "((int)puVar21 - (int)puVar7 >> 2) * 0x38" (parenthesized_expression "((int)puVar21 - (int)puVar7 >> 2)" ( (binary_expression "(int)puVar21 - (int)puVar7 >> 2" (binary_expression "(int)puVar21 - (int)puVar7" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) ;) (if_statement "if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;" if (parenthesized_expression "(*(int *)(iVar1 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x10) != 0" (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0023061c;" goto statement_identifier ;)) (if_statement "if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;" if (parenthesized_expression "(*(undefined **)(iVar1 + 0x14) != puVar22)" ( (binary_expression "*(undefined **)(iVar1 + 0x14) != puVar22" (pointer_expression "*(undefined **)(iVar1 + 0x14)" * (cast_expression "(undefined **)(iVar1 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_0023061c;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;" if (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar1 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar1 + 0x20) << 2" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_002305e4;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(iVar1 + 0x1c);" (assignment_expression "iVar4 = *(int *)(iVar1 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar1 + 0x1c)" * (cast_expression "(int *)(iVar1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1c)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;" if (parenthesized_expression "(*(int *)(iVar1 + 0x18) < 0)" ( (binary_expression "*(int *)(iVar1 + 0x18) < 0" (pointer_expression "*(int *)(iVar1 + 0x18)" * (cast_expression "(int *)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_00230610;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar22 + iVar4;" (assignment_expression "in_t0 = puVar22 + iVar4" identifier = (binary_expression "puVar22 + iVar4" identifier + identifier)) ;) (expression_statement "iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);" (assignment_expression "iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18)" identifier = (binary_expression "(uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18)" (call_expression "(uint)(in_t0 < puVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar22)" ( (binary_expression "in_t0 < puVar22" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar1 + 0x18)" * (cast_expression "(int *)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;" if (parenthesized_expression "(*(int *)(iVar3 + 8) < iVar6)" ( (binary_expression "*(int *)(iVar3 + 8) < iVar6" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_00230610;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;" if (parenthesized_expression "(*(int *)(iVar3 + 8) == iVar6)" ( (binary_expression "*(int *)(iVar3 + 8) == iVar6" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_002305fc;" goto statement_identifier ;)) (do_statement "do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );" do (compound_statement "{\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      }" { (expression_statement "puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);" (assignment_expression "puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4)" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x10) + iVar4)" ( (binary_expression "*(int *)(iVar3 + 0x10) + iVar4" (pointer_expression "*(int *)(iVar3 + 0x10)" * (cast_expression "(int *)(iVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "puVar10 = puVar24;" (assignment_expression "puVar10 = puVar24" identifier = identifier) ;) (if_statement "if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" if (parenthesized_expression "(puVar7 == puVar21)" ( (binary_expression "puVar7 == puVar21" identifier == identifier) )) (compound_statement "{\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }" { (if_statement "if (puVar22 == (undefined *)0x0) {\n            return;\n          }" if (parenthesized_expression "(puVar22 == (undefined *)0x0)" ( (binary_expression "puVar22 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) }) (else_clause "else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" else (compound_statement "{\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" { (do_statement "do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);" do (compound_statement "{\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          }" { (while_statement "while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }" { (expression_statement "puVar25 = puVar7;" (assignment_expression "puVar25 = puVar7" identifier = identifier) ;) (expression_statement "puVar21 = puVar10;" (assignment_expression "puVar21 = puVar10" identifier = identifier) ;) (expression_statement "pOVar17 = (Output_segment *)*puVar25;" (assignment_expression "pOVar17 = (Output_segment *)*puVar25" identifier = (cast_expression "(Output_segment *)*puVar25" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x188);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x188)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x188)" * (cast_expression "(undefined4 *)(pOVar17 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x188)" ( (binary_expression "pOVar17 + 0x188" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(pOVar17 + 0x198);" (assignment_expression "uVar13 = *(undefined4 *)(pOVar17 + 0x198)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x198)" * (cast_expression "(undefined4 *)(pOVar17 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x198)" ( (binary_expression "pOVar17 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);" (assignment_expression "puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c)" (subscript_expression "puVar21[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x18c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x18c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x18c)" ( (binary_expression "pOVar17 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "puVar21[2] = uVar2;" (assignment_expression "puVar21[2] = uVar2" (subscript_expression "puVar21[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = *(undefined4 *)(pOVar17 + 0x164);" (assignment_expression "uVar8 = *(undefined4 *)(pOVar17 + 0x164)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x164)" * (cast_expression "(undefined4 *)(pOVar17 + 0x164)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x164)" ( (binary_expression "pOVar17 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x160);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x160)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x160)" * (cast_expression "(undefined4 *)(pOVar17 + 0x160)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x160)" ( (binary_expression "pOVar17 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "*puVar21 = uVar13;" (assignment_expression "*puVar21 = uVar13" (pointer_expression "*puVar21" * identifier) = identifier) ;) (expression_statement "uVar13 = *(undefined4 *)(pOVar17 + 0x19c);" (assignment_expression "uVar13 = *(undefined4 *)(pOVar17 + 0x19c)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x19c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x19c)" ( (binary_expression "pOVar17 + 0x19c" identifier + number_literal) ))))) ;) (expression_statement "puVar21[5] = uVar8;" (assignment_expression "puVar21[5] = uVar8" (subscript_expression "puVar21[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21[4] = uVar2;" (assignment_expression "puVar21[4] = uVar2" (subscript_expression "puVar21[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x168);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x168)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x168)" * (cast_expression "(undefined4 *)(pOVar17 + 0x168)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x168)" ( (binary_expression "pOVar17 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);" (assignment_expression "puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c)" (subscript_expression "puVar21[7]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x16c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x16c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x16c)" ( (binary_expression "pOVar17 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "puVar21[6] = uVar2;" (assignment_expression "puVar21[6] = uVar2" (subscript_expression "puVar21[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 400);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 400)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 400)" * (cast_expression "(undefined4 *)(pOVar17 + 400)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 400)" ( (binary_expression "pOVar17 + 400" identifier + number_literal) ))))) ;) (expression_statement "puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);" (assignment_expression "puVar21[9] = *(undefined4 *)(pOVar17 + 0x194)" (subscript_expression "puVar21[9]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x194)" * (cast_expression "(undefined4 *)(pOVar17 + 0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x194)" ( (binary_expression "pOVar17 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "puVar21[8] = uVar2;" (assignment_expression "puVar21[8] = uVar2" (subscript_expression "puVar21[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = *(undefined4 *)(pOVar17 + 0x174);" (assignment_expression "uVar8 = *(undefined4 *)(pOVar17 + 0x174)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x174)" * (cast_expression "(undefined4 *)(pOVar17 + 0x174)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x174)" ( (binary_expression "pOVar17 + 0x174" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x170);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x170)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x170)" * (cast_expression "(undefined4 *)(pOVar17 + 0x170)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x170)" ( (binary_expression "pOVar17 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "puVar21[1] = uVar13;" (assignment_expression "puVar21[1] = uVar13" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21[0xb] = uVar8;" (assignment_expression "puVar21[0xb] = uVar8" (subscript_expression "puVar21[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21[10] = uVar2;" (assignment_expression "puVar21[10] = uVar2" (subscript_expression "puVar21[10]" identifier [ number_literal ]) = identifier) ;) (ERROR "uVar28 = Output_segment::" (assignment_expression "uVar28 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar17);" (call_expression "maximum_alignment(pOVar17)" identifier (argument_list "(pOVar17)" ( identifier ))) ;) (expression_statement "uVar5 = (uint)((ulonglong)uVar28 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar28 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar28 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar9 = *(uint *)(pOVar17 + 0x180);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x180)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x180)" * (cast_expression "(uint *)(pOVar17 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x180)" ( (binary_expression "pOVar17 + 0x180" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x184);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x184)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x184)" * (cast_expression "(uint *)(pOVar17 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x184)" ( (binary_expression "pOVar17 + 0x184" identifier + number_literal) ))))) ;) (if_statement "if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;" if (parenthesized_expression "((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14))))" ( (binary_expression "(uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))" (parenthesized_expression "(uVar5 <= uVar9)" ( (binary_expression "uVar5 <= uVar9" identifier <= identifier) )) && (parenthesized_expression "((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))" ( (parenthesized_expression "(uVar5 != uVar9 || ((uint)uVar28 <= uVar14))" ( (binary_expression "uVar5 != uVar9 || ((uint)uVar28 <= uVar14)" (binary_expression "uVar5 != uVar9" identifier != identifier) || (parenthesized_expression "((uint)uVar28 <= uVar14)" ( (binary_expression "(uint)uVar28 <= uVar14" (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = *(int *)(iVar1 + 0x24);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x24)" identifier = (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(puVar21 + 0xc) = uVar28;" (assignment_expression "*(undefined8 *)(puVar21 + 0xc) = uVar28" (pointer_expression "*(undefined8 *)(puVar21 + 0xc)" * (cast_expression "(undefined8 *)(puVar21 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0xc)" ( (binary_expression "puVar21 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar10 = puVar21 + 0xe;" (assignment_expression "puVar10 = puVar21 + 0xe" identifier = (binary_expression "puVar21 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar25 + 1;" (assignment_expression "puVar7 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (if_statement "if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;" if (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) == puVar25 + 1)" ( (binary_expression "*(undefined4 **)(iVar3 + 4) == puVar25 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" * (cast_expression "(undefined4 **)(iVar3 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == (binary_expression "puVar25 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_00230560;" goto statement_identifier ;)) })) (expression_statement "iVar3 = *(int *)(iVar1 + 0x24);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x24)" identifier = (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "puVar21[0xc] = uVar9;" (assignment_expression "puVar21[0xc] = uVar9" (subscript_expression "puVar21[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21[0xd] = uVar14;" (assignment_expression "puVar21[0xd] = uVar14" (subscript_expression "puVar21[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10 = puVar21 + 0xe;" (assignment_expression "puVar10 = puVar21 + 0xe" identifier = (binary_expression "puVar21 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar25 + 1;" (assignment_expression "puVar7 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) != puVar25 + 1)" ( (binary_expression "*(undefined4 **)(iVar3 + 4) != puVar25 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" * (cast_expression "(undefined4 **)(iVar3 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) != (binary_expression "puVar25 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_00230560:\n          puVar7 = puVar25 + 1;" statement_identifier : (expression_statement "puVar7 = puVar25 + 1;" (assignment_expression "puVar7 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;)) (expression_statement "puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));" (assignment_expression "puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24))" identifier = (cast_expression "(undefined *)((int)puVar21 + (0x38 - (int)puVar24))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + (0x38 - (int)puVar24))" ( (binary_expression "(int)puVar21 + (0x38 - (int)puVar24)" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x38 - (int)puVar24)" ( (binary_expression "0x38 - (int)puVar24" number_literal - (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) (if_statement "if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }" if (parenthesized_expression "(-1 < (int)puVar20)" ( (binary_expression "-1 < (int)puVar20" number_literal < (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }" { (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) ))))) ;) (if_statement "if (puVar20 != puVar22) goto LAB_002305d0;" if (parenthesized_expression "(puVar20 != puVar22)" ( (binary_expression "puVar20 != puVar22" identifier != identifier) )) (goto_statement "goto LAB_002305d0;" goto statement_identifier ;)) (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;" if (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar1 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar1 + 0x20) << 2" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_002305e4;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (while_statement "while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }" { (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;" statement_identifier : (expression_statement "iVar4 = iVar4 + -0x2b68;" (assignment_expression "iVar4 = iVar4 + -0x2b68" identifier = (binary_expression "iVar4 + -0x2b68" identifier + number_literal)) ;)) (expression_statement "(**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);" (call_expression "(**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2)" (parenthesized_expression "(**(code **)(pcVar26 + 0x29166c))" ( (pointer_expression "**(code **)(pcVar26 + 0x29166c)" * (pointer_expression "*(code **)(pcVar26 + 0x29166c)" * (cast_expression "(code **)(pcVar26 + 0x29166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x29166c)" ( (binary_expression "pcVar26 + 0x29166c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2)" ( (binary_expression "*(int *)(pcVar26 + 0x291558) + -0x48b4" (pointer_expression "*(int *)(pcVar26 + 0x291558)" * (cast_expression "(int *)(pcVar26 + 0x291558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x291558)" ( (binary_expression "pcVar26 + 0x291558" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_002305e4:\n          iVar3 = 0xe3;" statement_identifier : (expression_statement "iVar3 = 0xe3;" (assignment_expression "iVar3 = 0xe3" identifier = number_literal) ;)) (expression_statement "puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);" (assignment_expression "puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" ( (binary_expression "*(int *)(pcVar26 + 0x290eb8) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x290eb8)" * (cast_expression "(int *)(pcVar26 + 0x290eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x290eb8)" ( (binary_expression "pcVar26 + 0x290eb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);" (call_expression "(**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78)" (parenthesized_expression "(**(code **)(pcVar26 + 0x29166c))" ( (pointer_expression "**(code **)(pcVar26 + 0x29166c)" * (pointer_expression "*(code **)(pcVar26 + 0x29166c)" * (cast_expression "(code **)(pcVar26 + 0x29166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x29166c)" ( (binary_expression "pcVar26 + 0x29166c" identifier + number_literal) ))))) )) (argument_list "(puVar21,0xe3,iVar4 + -0x2a78)" ( identifier , number_literal , (binary_expression "iVar4 + -0x2a78" identifier + number_literal) ))) ;) (expression_statement "iVar4 = extraout_v1_01;" (assignment_expression "iVar4 = extraout_v1_01" identifier = identifier) ;) (labeled_statement "LAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);" (assignment_expression "in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0)" identifier = (cast_expression "(undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(undefined **)(iVar3 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined **)(iVar3 + 0xc) < in_t0)" ( (binary_expression "*(undefined **)(iVar3 + 0xc) < in_t0" (pointer_expression "*(undefined **)(iVar3 + 0xc)" * (cast_expression "(undefined **)(iVar3 + 0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (undefined *)0x0) break;" if (parenthesized_expression "(in_t0 == (undefined *)0x0)" ( (binary_expression "in_t0 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00230610:\n          FUN_00212d10();" statement_identifier : (expression_statement "FUN_00212d10();" (call_expression "FUN_00212d10()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0023061c:\n          uVar2 = 0x19e;" statement_identifier : (expression_statement "uVar2 = 0x19e;" (assignment_expression "uVar2 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);" (assignment_expression "puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" identifier = (cast_expression "(undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" ( (binary_expression "((int)puVar21 - (int)puVar7 >> 2) * 0x38" (parenthesized_expression "((int)puVar21 - (int)puVar7 >> 2)" ( (binary_expression "(int)puVar21 - (int)puVar7 >> 2" (binary_expression "(int)puVar21 - (int)puVar7" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) ;) (if_statement "if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;" if (parenthesized_expression "(*(int *)(puVar20 + 0x10) != 0)" ( (binary_expression "*(int *)(puVar20 + 0x10) != 0" (pointer_expression "*(int *)(puVar20 + 0x10)" * (cast_expression "(int *)(puVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_002303a0;" goto statement_identifier ;)) (if_statement "if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;" if (parenthesized_expression "(*(undefined **)(puVar20 + 0x14) != puVar11)" ( (binary_expression "*(undefined **)(puVar20 + 0x14) != puVar11" (pointer_expression "*(undefined **)(puVar20 + 0x14)" * (cast_expression "(undefined **)(puVar20 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x14)" ( (binary_expression "puVar20 + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_002303a0;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" identifier = (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;" if (parenthesized_expression "(-1 < *(int *)(puVar20 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar20 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar20 + 0x20) << 2" (pointer_expression "*(int *)(puVar20 + 0x20)" * (cast_expression "(int *)(puVar20 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x20)" ( (binary_expression "puVar20 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_00230368;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(puVar20 + 0x1c);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar20 + 0x1c)" * (cast_expression "(int *)(puVar20 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x1c)" ( (binary_expression "puVar20 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;" if (parenthesized_expression "(*(int *)(puVar20 + 0x18) < 0)" ( (binary_expression "*(int *)(puVar20 + 0x18) < 0" (pointer_expression "*(int *)(puVar20 + 0x18)" * (cast_expression "(int *)(puVar20 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) )))) < number_literal) )) (goto_statement "goto LAB_00230394;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar11 + iVar3;" (assignment_expression "in_t0 = puVar11 + iVar3" identifier = (binary_expression "puVar11 + iVar3" identifier + identifier)) ;) (expression_statement "iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);" (assignment_expression "iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18)" identifier = (binary_expression "(uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18)" (call_expression "(uint)(in_t0 < puVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar11)" ( (binary_expression "in_t0 < puVar11" identifier < identifier) ))) + (pointer_expression "*(int *)(puVar20 + 0x18)" * (cast_expression "(int *)(puVar20 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;" if (parenthesized_expression "(*(int *)(iVar1 + 8) < iVar4)" ( (binary_expression "*(int *)(iVar1 + 8) < iVar4" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_00230394;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;" if (parenthesized_expression "(*(int *)(iVar1 + 8) == iVar4)" ( (binary_expression "*(int *)(iVar1 + 8) == iVar4" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_00230380;" goto statement_identifier ;)) (do_statement "do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );" do (compound_statement "{\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    }" { (expression_statement "piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);" (assignment_expression "piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3)" identifier = (cast_expression "(int *)(*(int *)(iVar1 + 0x10) + iVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 0x10) + iVar3)" ( (binary_expression "*(int *)(iVar1 + 0x10) + iVar3" (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "piVar12 = piVar23;" (assignment_expression "piVar12 = piVar23" identifier = identifier) ;) (if_statement "if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" if (parenthesized_expression "(puVar7 == puVar21)" ( (binary_expression "puVar7 == puVar21" identifier == identifier) )) (compound_statement "{\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }" { (if_statement "if (puVar11 == (undefined *)0x0) {\n          return;\n        }" if (parenthesized_expression "(puVar11 == (undefined *)0x0)" ( (binary_expression "puVar11 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) }) (else_clause "else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" else (compound_statement "{\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" { (do_statement "do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);" do (compound_statement "{\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        }" { (while_statement "while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }" { (expression_statement "puVar21 = puVar7;" (assignment_expression "puVar21 = puVar7" identifier = identifier) ;) (expression_statement "piVar18 = piVar12;" (assignment_expression "piVar18 = piVar12" identifier = identifier) ;) (expression_statement "pOVar17 = (Output_segment *)*puVar21;" (assignment_expression "pOVar17 = (Output_segment *)*puVar21" identifier = (cast_expression "(Output_segment *)*puVar21" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "uVar9 = *(uint *)(pOVar17 + 0x188);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x188)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x188)" * (cast_expression "(uint *)(pOVar17 + 0x188)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x188)" ( (binary_expression "pOVar17 + 0x188" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x18c);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x18c)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x18c)" * (cast_expression "(uint *)(pOVar17 + 0x18c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x18c)" ( (binary_expression "pOVar17 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x198);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x198)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x198)" * (cast_expression "(uint *)(pOVar17 + 0x198)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x198)" ( (binary_expression "pOVar17 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[3]" 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 "piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[2]" 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 "uVar9 = *(uint *)(pOVar17 + 0x160);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x160)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x160)" * (cast_expression "(uint *)(pOVar17 + 0x160)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x160)" ( (binary_expression "pOVar17 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x164);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x164)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x164)" * (cast_expression "(uint *)(pOVar17 + 0x164)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x164)" ( (binary_expression "pOVar17 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "*piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" * identifier) = (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" ( (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" ( (binary_expression "uVar14 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" ( (binary_expression "uVar14 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" ( (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x19c);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x19c)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x19c)" * (cast_expression "(uint *)(pOVar17 + 0x19c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x19c)" ( (binary_expression "pOVar17 + 0x19c" identifier + number_literal) ))))) ;) (expression_statement "piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[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 "piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[4]" 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 "uVar9 = *(uint *)(pOVar17 + 0x168);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x168)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x168)" * (cast_expression "(uint *)(pOVar17 + 0x168)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x168)" ( (binary_expression "pOVar17 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x16c);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x16c)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x16c)" * (cast_expression "(uint *)(pOVar17 + 0x16c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x16c)" ( (binary_expression "pOVar17 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[7]" 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 "piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[6]" 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 "uVar9 = *(uint *)(pOVar17 + 400);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 400)" identifier = (pointer_expression "*(uint *)(pOVar17 + 400)" * (cast_expression "(uint *)(pOVar17 + 400)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 400)" ( (binary_expression "pOVar17 + 400" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x194);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x194)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x194)" * (cast_expression "(uint *)(pOVar17 + 0x194)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x194)" ( (binary_expression "pOVar17 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[9]" 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 "piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[8]" 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 "uVar9 = *(uint *)(pOVar17 + 0x170);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x170)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x170)" * (cast_expression "(uint *)(pOVar17 + 0x170)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x170)" ( (binary_expression "pOVar17 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x174);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x174)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x174)" * (cast_expression "(uint *)(pOVar17 + 0x174)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x174)" ( (binary_expression "pOVar17 + 0x174" identifier + number_literal) ))))) ;) (expression_statement "piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" ( (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" ( (binary_expression "uVar14 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" ( (binary_expression "uVar14 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" ( (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xb]" 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 "piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[10]" 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))) ;) (ERROR "uVar29 = Output_segment::" (assignment_expression "uVar29 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar17);" (call_expression "maximum_alignment(pOVar17)" identifier (argument_list "(pOVar17)" ( identifier ))) ;) (expression_statement "uVar5 = (uint)(uVar29 >> 0x20);" (assignment_expression "uVar5 = (uint)(uVar29 >> 0x20)" identifier = (call_expression "(uint)(uVar29 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar9 = (uint)uVar29;" (assignment_expression "uVar9 = (uint)uVar29" identifier = (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x180);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x180)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x180)" * (cast_expression "(uint *)(pOVar17 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x180)" ( (binary_expression "pOVar17 + 0x180" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(pOVar17 + 0x184);" (assignment_expression "uVar15 = *(uint *)(pOVar17 + 0x184)" identifier = (pointer_expression "*(uint *)(pOVar17 + 0x184)" * (cast_expression "(uint *)(pOVar17 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x184)" ( (binary_expression "pOVar17 + 0x184" identifier + number_literal) ))))) ;) (if_statement "if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;" if (parenthesized_expression "((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15))))" ( (binary_expression "(uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))" (parenthesized_expression "(uVar5 <= uVar14)" ( (binary_expression "uVar5 <= uVar14" identifier <= identifier) )) && (parenthesized_expression "((uVar5 != uVar14 || (uVar9 <= uVar15)))" ( (parenthesized_expression "(uVar5 != uVar14 || (uVar9 <= uVar15))" ( (binary_expression "uVar5 != uVar14 || (uVar9 <= uVar15)" (binary_expression "uVar5 != uVar14" identifier != identifier) || (parenthesized_expression "(uVar9 <= uVar15)" ( (binary_expression "uVar9 <= uVar15" identifier <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);" (assignment_expression "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" * (cast_expression "(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar20 + 0x24) + 4)" ( (binary_expression "*(int *)(puVar20 + 0x24) + 4" (pointer_expression "*(int *)(puVar20 + 0x24)" * (cast_expression "(int *)(puVar20 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 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 "((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(int)(uVar29 & 0xff000000ff) << 8" (cast_expression "(int)(uVar29 & 0xff000000ff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 & 0xff000000ff)" ( (binary_expression "uVar29 & 0xff000000ff" identifier & number_literal) ))) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;" (assignment_expression "piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000" (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           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 "((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000" (parenthesized_expression "((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(int)((uVar29 & 0xff000000ff) >> 0x20) << 8" (cast_expression "(int)((uVar29 & 0xff000000ff) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uVar29 & 0xff000000ff) >> 0x20)" ( (binary_expression "(uVar29 & 0xff000000ff) >> 0x20" (parenthesized_expression "(uVar29 & 0xff000000ff)" ( (binary_expression "uVar29 & 0xff000000ff" identifier & number_literal) )) >> number_literal) ))) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar12 = piVar18 + 0xe;" (assignment_expression "piVar12 = piVar18 + 0xe" identifier = (binary_expression "piVar18 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar21 + 1;" (assignment_expression "puVar7 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;) (if_statement "if (puVar10 == puVar21 + 1) goto LAB_002302e4;" if (parenthesized_expression "(puVar10 == puVar21 + 1)" ( (binary_expression "puVar10 == puVar21 + 1" identifier == (binary_expression "puVar21 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_002302e4;" goto statement_identifier ;)) })) (expression_statement "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);" (assignment_expression "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" * (cast_expression "(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar20 + 0x24) + 4)" ( (binary_expression "*(int *)(puVar20 + 0x24) + 4" (pointer_expression "*(int *)(puVar20 + 0x24)" * (cast_expression "(int *)(puVar20 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) = (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) = (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" ( (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" ( (binary_expression "uVar14 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" ( (binary_expression "uVar14 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" ( (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar12 = piVar18 + 0xe;" (assignment_expression "piVar12 = piVar18 + 0xe" identifier = (binary_expression "piVar18 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar21 + 1;" (assignment_expression "puVar7 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar10 != puVar21 + 1)" ( (binary_expression "puVar10 != puVar21 + 1" identifier != (binary_expression "puVar21 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_002302e4:\n        puVar7 = puVar21 + 1;" statement_identifier : (expression_statement "puVar7 = puVar21 + 1;" (assignment_expression "puVar7 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;)) (expression_statement "puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));" (assignment_expression "puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23))" identifier = (cast_expression "(undefined *)((int)piVar18 + (0x38 - (int)piVar23))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + (0x38 - (int)piVar23))" ( (binary_expression "(int)piVar18 + (0x38 - (int)piVar23)" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x38 - (int)piVar23)" ( (binary_expression "0x38 - (int)piVar23" number_literal - (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) (if_statement "if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }" if (parenthesized_expression "(-1 < (int)puVar19)" ( (binary_expression "-1 < (int)puVar19" number_literal < (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }" { (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" identifier = (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) ))))) ;) (if_statement "if (puVar19 != puVar11) goto LAB_00230354;" if (parenthesized_expression "(puVar19 != puVar11)" ( (binary_expression "puVar19 != puVar11" identifier != identifier) )) (goto_statement "goto LAB_00230354;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" identifier = (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;" if (parenthesized_expression "(-1 < *(int *)(puVar20 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar20 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar20 + 0x20) << 2" (pointer_expression "*(int *)(puVar20 + 0x20)" * (cast_expression "(int *)(puVar20 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x20)" ( (binary_expression "puVar20 + 0x20" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto LAB_00230368;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (while_statement "while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }" { (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" identifier = (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00230354:\n        iVar3 = iVar3 + -0x2b58;" statement_identifier : (expression_statement "iVar3 = iVar3 + -0x2b58;" (assignment_expression "iVar3 = iVar3 + -0x2b58" identifier = (binary_expression "iVar3 + -0x2b58" identifier + number_literal)) ;)) (expression_statement "(**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);" (call_expression "(**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2)" (parenthesized_expression "(**(code **)(puVar22 + 0x291960))" ( (pointer_expression "**(code **)(puVar22 + 0x291960)" * (pointer_expression "*(code **)(puVar22 + 0x291960)" * (cast_expression "(code **)(puVar22 + 0x291960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x291960)" ( (binary_expression "puVar22 + 0x291960" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2)" ( (binary_expression "*(int *)(puVar22 + 0x29184c) + -0x48b4" (pointer_expression "*(int *)(puVar22 + 0x29184c)" * (cast_expression "(int *)(puVar22 + 0x29184c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x29184c)" ( (binary_expression "puVar22 + 0x29184c" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_00230368:\n        iVar1 = 0xe3;" statement_identifier : (expression_statement "iVar1 = 0xe3;" (assignment_expression "iVar1 = 0xe3" identifier = number_literal) ;)) (expression_statement "puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);" (assignment_expression "puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574)" identifier = (cast_expression "(undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar22 + 0x2911ac) + 0x3574)" ( (binary_expression "*(int *)(puVar22 + 0x2911ac) + 0x3574" (pointer_expression "*(int *)(puVar22 + 0x2911ac)" * (cast_expression "(int *)(puVar22 + 0x2911ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x2911ac)" ( (binary_expression "puVar22 + 0x2911ac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);" (call_expression "(**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78)" (parenthesized_expression "(**(code **)(puVar22 + 0x291960))" ( (pointer_expression "**(code **)(puVar22 + 0x291960)" * (pointer_expression "*(code **)(puVar22 + 0x291960)" * (cast_expression "(code **)(puVar22 + 0x291960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x291960)" ( (binary_expression "puVar22 + 0x291960" identifier + number_literal) ))))) )) (argument_list "(puVar21,0xe3,iVar3 + -0x2a78)" ( identifier , number_literal , (binary_expression "iVar3 + -0x2a78" identifier + number_literal) ))) ;) (expression_statement "iVar3 = extraout_v1_00;" (assignment_expression "iVar3 = extraout_v1_00" identifier = identifier) ;) (labeled_statement "LAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);" (assignment_expression "in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0)" identifier = (cast_expression "(undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(undefined **)(iVar1 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined **)(iVar1 + 0xc) < in_t0)" ( (binary_expression "*(undefined **)(iVar1 + 0xc) < in_t0" (pointer_expression "*(undefined **)(iVar1 + 0xc)" * (cast_expression "(undefined **)(iVar1 + 0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (undefined *)0x0) break;" if (parenthesized_expression "(in_t0 == (undefined *)0x0)" ( (binary_expression "in_t0 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00230394:\n        FUN_00212d10();" statement_identifier : (expression_statement "FUN_00212d10();" (call_expression "FUN_00212d10()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002303a0:\n        uVar2 = 0x19e;" statement_identifier : (expression_statement "uVar2 = 0x19e;" (assignment_expression "uVar2 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2);" (assignment_expression "puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2)" identifier = (cast_expression "(undefined *)((int)puVar7 - (int)puVar21 >> 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 - (int)puVar21 >> 2)" ( (binary_expression "(int)puVar7 - (int)puVar21 >> 2" (binary_expression "(int)puVar7 - (int)puVar21" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) ;) (if_statement "if (*(int *)(this + 0x10) != 0) goto LAB_002300ac;" 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) )) (goto_statement "goto LAB_002300ac;" goto statement_identifier ;)) (expression_statement "puVar22 = (undefined *)((int)puVar22 * 0x20);" (assignment_expression "puVar22 = (undefined *)((int)puVar22 * 0x20)" identifier = (cast_expression "(undefined *)((int)puVar22 * 0x20)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 * 0x20)" ( (binary_expression "(int)puVar22 * 0x20" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (if_statement "if (*(undefined **)(this + 0x14) != puVar22) goto LAB_002300ac;" if (parenthesized_expression "(*(undefined **)(this + 0x14) != puVar22)" ( (binary_expression "*(undefined **)(this + 0x14) != puVar22" (pointer_expression "*(undefined **)(this + 0x14)" * (cast_expression "(undefined **)(this + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) != identifier) )) (goto_statement "goto LAB_002300ac;" goto statement_identifier ;)) (expression_statement "puVar20 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "puVar20 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;" 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)) )) (goto_statement "goto LAB_00230074;" goto statement_identifier ;)) (expression_statement "puVar11 = *(undefined **)(this + 0x1c);" (assignment_expression "puVar11 = *(undefined **)(this + 0x1c)" identifier = (pointer_expression "*(undefined **)(this + 0x1c)" * (cast_expression "(undefined **)(this + 0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(this + 0x18) < 0) goto LAB_002300a0;" if (parenthesized_expression "(*(int *)(this + 0x18) < 0)" ( (binary_expression "*(int *)(this + 0x18) < 0" (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) )))) < number_literal) )) (goto_statement "goto LAB_002300a0;" goto statement_identifier ;)) (expression_statement "in_t0 = puVar22 + (int)puVar11;" (assignment_expression "in_t0 = puVar22 + (int)puVar11" identifier = (binary_expression "puVar22 + (int)puVar11" identifier + (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18);" (assignment_expression "iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18)" identifier = (binary_expression "(uint)(in_t0 < puVar22) + *(int *)(this + 0x18)" (call_expression "(uint)(in_t0 < puVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_t0 < puVar22)" ( (binary_expression "in_t0 < puVar22" 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 (*(int *)(param_1 + 8) < iVar1) goto LAB_002300a0;" if (parenthesized_expression "(*(int *)(param_1 + 8) < iVar1)" ( (binary_expression "*(int *)(param_1 + 8) < iVar1" (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) )) (goto_statement "goto LAB_002300a0;" goto statement_identifier ;)) (if_statement "if (*(int *)(param_1 + 8) == iVar1) goto LAB_0023008c;" if (parenthesized_expression "(*(int *)(param_1 + 8) == iVar1)" ( (binary_expression "*(int *)(param_1 + 8) == iVar1" (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) )) (goto_statement "goto LAB_0023008c;" goto statement_identifier ;)) (do_statement "do {\n    iVar1 = *(int *)(param_1 + 0x10);\n    puVar10 = (undefined4 *)(puVar11 + iVar1);\n    if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar2 = 0x1ab;\n    while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }\n  } while( true );" do (compound_statement "{\n    iVar1 = *(int *)(param_1 + 0x10);\n    puVar10 = (undefined4 *)(puVar11 + iVar1);\n    if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar2 = 0x1ab;\n    while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }\n  }" { (expression_statement "iVar1 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x10)" identifier = (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) ))))) ;) (expression_statement "puVar10 = (undefined4 *)(puVar11 + iVar1);" (assignment_expression "puVar10 = (undefined4 *)(puVar11 + iVar1)" identifier = (cast_expression "(undefined4 *)(puVar11 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + iVar1)" ( (binary_expression "puVar11 + iVar1" identifier + identifier) )))) ;) (if_statement "if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }" if (parenthesized_expression "(puVar21 == puVar7)" ( (binary_expression "puVar21 == puVar7" identifier == identifier) )) (compound_statement "{\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }" { (if_statement "if (puVar22 == (undefined *)0x0) {\n        return;\n      }" if (parenthesized_expression "(puVar22 == (undefined *)0x0)" ( (binary_expression "puVar22 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" 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          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }" else (compound_statement "{\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }" { (do_statement "do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);" do (compound_statement "{\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      }" { (while_statement "while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }" { (expression_statement "puVar24 = puVar21;" (assignment_expression "puVar24 = puVar21" identifier = identifier) ;) (expression_statement "puVar7 = puVar10;" (assignment_expression "puVar7 = puVar10" identifier = identifier) ;) (expression_statement "pOVar17 = (Output_segment *)*puVar24;" (assignment_expression "pOVar17 = (Output_segment *)*puVar24" identifier = (cast_expression "(Output_segment *)*puVar24" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar24" * identifier))) ;) (expression_statement "uVar13 = *(undefined4 *)(pOVar17 + 0x16c);" (assignment_expression "uVar13 = *(undefined4 *)(pOVar17 + 0x16c)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x16c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x16c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x16c)" ( (binary_expression "pOVar17 + 0x16c" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x174);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x174)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x174)" * (cast_expression "(undefined4 *)(pOVar17 + 0x174)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x174)" ( (binary_expression "pOVar17 + 0x174" identifier + number_literal) ))))) ;) (expression_statement "in_t0 = *(undefined **)(pOVar17 + 0x198);" (assignment_expression "in_t0 = *(undefined **)(pOVar17 + 0x198)" identifier = (pointer_expression "*(undefined **)(pOVar17 + 0x198)" * (cast_expression "(undefined **)(pOVar17 + 0x198)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pOVar17 + 0x198)" ( (binary_expression "pOVar17 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(pOVar17 + 0x18c);" (assignment_expression "uVar16 = *(undefined4 *)(pOVar17 + 0x18c)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x18c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x18c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x18c)" ( (binary_expression "pOVar17 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)(pOVar17 + 0x194);" (assignment_expression "uVar8 = *(undefined4 *)(pOVar17 + 0x194)" identifier = (pointer_expression "*(undefined4 *)(pOVar17 + 0x194)" * (cast_expression "(undefined4 *)(pOVar17 + 0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x194)" ( (binary_expression "pOVar17 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);" (assignment_expression "puVar7[2] = *(undefined4 *)(pOVar17 + 0x164)" (subscript_expression "puVar7[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x164)" * (cast_expression "(undefined4 *)(pOVar17 + 0x164)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x164)" ( (binary_expression "pOVar17 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "puVar7[3] = uVar13;" (assignment_expression "puVar7[3] = uVar13" (subscript_expression "puVar7[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar7 = in_t0;" (assignment_expression "*puVar7 = in_t0" (pointer_expression "*puVar7" * identifier) = identifier) ;) (expression_statement "puVar7[1] = uVar16;" (assignment_expression "puVar7[1] = uVar16" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[4] = uVar8;" (assignment_expression "puVar7[4] = uVar8" (subscript_expression "puVar7[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[5] = uVar2;" (assignment_expression "puVar7[5] = uVar2" (subscript_expression "puVar7[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);" (assignment_expression "puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c)" (subscript_expression "puVar7[6]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(pOVar17 + 0x19c)" * (cast_expression "(undefined4 *)(pOVar17 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x19c)" ( (binary_expression "pOVar17 + 0x19c" identifier + number_literal) ))))) ;) (ERROR "uVar28 = Output_segment::" (assignment_expression "uVar28 = Output_segment" identifier = identifier) : :) (expression_statement "maximum_alignment(pOVar17);" (call_expression "maximum_alignment(pOVar17)" identifier (argument_list "(pOVar17)" ( identifier ))) ;) (expression_statement "uVar5 = (uint)((ulonglong)uVar28 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar28 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar28 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;" if (parenthesized_expression "((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             )" ( (binary_expression "(uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))" (parenthesized_expression "(uVar5 <= *(uint *)(pOVar17 + 0x180))" ( (binary_expression "uVar5 <= *(uint *)(pOVar17 + 0x180)" identifier <= (pointer_expression "*(uint *)(pOVar17 + 0x180)" * (cast_expression "(uint *)(pOVar17 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x180)" ( (binary_expression "pOVar17 + 0x180" identifier + number_literal) ))))) )) && (parenthesized_expression "((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))" ( (parenthesized_expression "(uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184)))" ( (binary_expression "uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))" (binary_expression "uVar5 != *(uint *)(pOVar17 + 0x180)" identifier != (pointer_expression "*(uint *)(pOVar17 + 0x180)" * (cast_expression "(uint *)(pOVar17 + 0x180)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x180)" ( (binary_expression "pOVar17 + 0x180" identifier + number_literal) ))))) || (parenthesized_expression "((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))" ( (binary_expression "(uint)uVar28 <= *(uint *)(pOVar17 + 0x184)" (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) <= (pointer_expression "*(uint *)(pOVar17 + 0x184)" * (cast_expression "(uint *)(pOVar17 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x184)" ( (binary_expression "pOVar17 + 0x184" identifier + number_literal) ))))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = *(int *)(this + 0x24);" (assignment_expression "iVar3 = *(int *)(this + 0x24)" identifier = (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) ))))) ;) (expression_statement "puVar7[7] = (uint)uVar28;" (assignment_expression "puVar7[7] = (uint)uVar28" (subscript_expression "puVar7[7]" identifier [ number_literal ]) = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar10 = puVar7 + 8;" (assignment_expression "puVar10 = puVar7 + 8" identifier = (binary_expression "puVar7 + 8" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar24 + 1;" (assignment_expression "puVar21 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (if_statement "if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;" if (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) == puVar24 + 1)" ( (binary_expression "*(undefined4 **)(iVar3 + 4) == puVar24 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" * (cast_expression "(undefined4 **)(iVar3 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) == (binary_expression "puVar24 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0022fff4;" goto statement_identifier ;)) })) (expression_statement "iVar3 = *(int *)(this + 0x24);" (assignment_expression "iVar3 = *(int *)(this + 0x24)" identifier = (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) ))))) ;) (expression_statement "puVar7[7] = *(uint *)(pOVar17 + 0x184);" (assignment_expression "puVar7[7] = *(uint *)(pOVar17 + 0x184)" (subscript_expression "puVar7[7]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(pOVar17 + 0x184)" * (cast_expression "(uint *)(pOVar17 + 0x184)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar17 + 0x184)" ( (binary_expression "pOVar17 + 0x184" identifier + number_literal) ))))) ;) (expression_statement "puVar10 = puVar7 + 8;" (assignment_expression "puVar10 = puVar7 + 8" identifier = (binary_expression "puVar7 + 8" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar24 + 1;" (assignment_expression "puVar21 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) != puVar24 + 1)" ( (binary_expression "*(undefined4 **)(iVar3 + 4) != puVar24 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" * (cast_expression "(undefined4 **)(iVar3 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) != (binary_expression "puVar24 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_0022fff4:\n      puVar21 = puVar24 + 1;" statement_identifier : (expression_statement "puVar21 = puVar24 + 1;" (assignment_expression "puVar21 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;)) (expression_statement "puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));" (assignment_expression "puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)))" identifier = (cast_expression "(undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)))" ( (binary_expression "(int)puVar7 + (0x20 - (int)(puVar11 + iVar1))" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x20 - (int)(puVar11 + iVar1))" ( (binary_expression "0x20 - (int)(puVar11 + iVar1)" number_literal - (cast_expression "(int)(puVar11 + iVar1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar11 + iVar1)" ( (binary_expression "puVar11 + iVar1" identifier + identifier) )))) ))) )))) ;) (if_statement "if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }" if (parenthesized_expression "((-1 < (int)puVar20) && (puVar20 == puVar22))" ( (binary_expression "(-1 < (int)puVar20) && (puVar20 == puVar22)" (parenthesized_expression "(-1 < (int)puVar20)" ( (binary_expression "-1 < (int)puVar20" number_literal < (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(puVar20 == puVar22)" ( (binary_expression "puVar20 == puVar22" identifier == identifier) ))) )) (compound_statement "{\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }" { (expression_statement "puVar20 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "puVar20 = PTR_s_in_a_linker_script_004c191c" identifier = identifier) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;" 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)) )) (goto_statement "goto LAB_00230074;" goto statement_identifier ;)) (return_statement "return;" return ;) })) }))) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" identifier = number_literal) ;) (while_statement "while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }" { (expression_statement "puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;" (assignment_expression "puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x2b48" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x48b4" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_00230074:\n      param_1 = (Output_file *)0xe3;" statement_identifier : (expression_statement "param_1 = (Output_file *)0xe3;" (assignment_expression "param_1 = (Output_file *)0xe3" identifier = (cast_expression "(Output_file *)0xe3" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11,0xe3,puVar20 + -0x2a78)" ( identifier , number_literal , (binary_expression "puVar20 + -0x2a78" identifier + number_literal) ))) ;) (expression_statement "puVar7 = extraout_v1;" (assignment_expression "puVar7 = extraout_v1" identifier = identifier) ;) (labeled_statement "LAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);" statement_identifier : (expression_statement "in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);" (assignment_expression "in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0)" identifier = (cast_expression "(undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(undefined **)(param_1 + 0xc) < in_t0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined **)(param_1 + 0xc) < in_t0)" ( (binary_expression "*(undefined **)(param_1 + 0xc) < in_t0" (pointer_expression "*(undefined **)(param_1 + 0xc)" * (cast_expression "(undefined **)(param_1 + 0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) < identifier) ))))) ;)) (if_statement "if (in_t0 == (undefined *)0x0) break;" if (parenthesized_expression "(in_t0 == (undefined *)0x0)" ( (binary_expression "in_t0 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_002300a0:\n      FUN_00212d10();" statement_identifier : (expression_statement "FUN_00212d10();" (call_expression "FUN_00212d10()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002300ac:\n      uVar2 = 0x19e;" statement_identifier : (expression_statement "uVar2 = 0x19e;" (assignment_expression "uVar2 = 0x19e" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) (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) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (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 (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression 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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , LIT , (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (binary_expression IDENT + LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (goto_statement goto statement_identifier ;)) (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 LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) (do_statement do (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) )))) + IDENT) )))) ;) (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (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 = 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 (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (pointer_expression * IDENT) = 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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) ))) )) ))) )) (break_statement break ;)) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) })) (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 ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (binary_expression IDENT + LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (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 LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (return_statement return ;) })) }))) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (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) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) })) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (goto_statement goto statement_identifier ;)) (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 LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) (do_statement do (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) )))) + IDENT) )))) ;) (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (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 = 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 (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 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 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 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 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 (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 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) ))))) ;) (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 <= IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) ))) )) (break_statement break ;)) (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 (cast_expression ( (type_descriptor TYPE) ) (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 (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) ))) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (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 (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (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 LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (goto_statement goto statement_identifier ;)) (return_statement return ;) })) }))) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (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) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) })) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (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)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = 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 * (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 ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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) )))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (break_statement break ;)) (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 ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) })) (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 ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (binary_expression IDENT + LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + 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 { (expression_statement (assignment_expression IDENT = IDENT) ;) (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)) )) (goto_statement goto statement_identifier ;)) (return_statement return ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) })) }) while (parenthesized_expression ( BOOL )) ;) (ERROR }))
(declaration "void __thiscall\ngold::Output_segment_headers::do_sized_write<32,true>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int iVar1;" (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 "true>\n          (Output_segment_headers *this,Output_file *param_1)\n\n{\n  int" (function_declarator "true>\n          (Output_segment_headers *this,Output_file *param_1)" (identifier "true") (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")) (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 *extraout_v1;" (type_identifier "undefined4") (pointer_declarator "*extraout_v1" (* "*") (identifier "extraout_v1")) (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int extraout_v1_00;" (primitive_type "int") (identifier "extraout_v1_00") (; ";")) (declaration "int extraout_v1_01;" (primitive_type "int") (identifier "extraout_v1_01") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "undefined *in_t0;" (type_identifier "undefined") (pointer_declarator "*in_t0" (* "*") (identifier "in_t0")) (; ";")) (declaration "Output_segment *pOVar17;" (type_identifier "Output_segment") (pointer_declarator "*pOVar17" (* "*") (identifier "pOVar17")) (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "undefined *puVar19;" (type_identifier "undefined") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined *puVar20;" (type_identifier "undefined") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined4 *puVar21;" (type_identifier "undefined4") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined *puVar22;" (type_identifier "undefined") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "int *piVar23;" (primitive_type "int") (pointer_declarator "*piVar23" (* "*") (identifier "piVar23")) (; ";")) (declaration "undefined4 *puVar24;" (type_identifier "undefined4") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "undefined4 *puVar25;" (type_identifier "undefined4") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "undefined8 uVar28;" (type_identifier "undefined8") (identifier "uVar28") (; ";")) (declaration "ulonglong uVar29;" (type_identifier "ulonglong") (identifier "uVar29") (; ";")) (expression_statement "puVar21 = (undefined4 *)**(undefined4 **)(this + 0x24);" (assignment_expression "puVar21 = (undefined4 *)**(undefined4 **)(this + 0x24)" (identifier "puVar21") (= "=") (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 "puVar7 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];" (assignment_expression "puVar7 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1]" (identifier "puVar7") (= "=") (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    iVar1 = 0xcf;\n    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);\n    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];\n    if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;\n    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;\n    iVar3 = *(int *)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n    iVar3 = *(int *)(puVar20 + 0x1c);\n    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar11 + iVar3;\n    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);\n    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;\n    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;\n    do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );\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    iVar1 = 0xcf;\n    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n    puVar22 = PTR_do_gold_unreachable_004c1a30;\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);\n    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);\n    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];\n    if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }\n    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;\n    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;\n    iVar3 = *(int *)(puVar22 + 0x29184c);\n    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n    iVar3 = *(int *)(puVar20 + 0x1c);\n    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;\n    in_t0 = puVar11 + iVar3;\n    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);\n    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;\n    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;\n    do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );\n  }" ({ "{") (expression_statement "iVar1 = 0xcf;" (assignment_expression "iVar1 = 0xcf" (identifier "iVar1") (= "=") (number_literal "0xcf")) (; ";")) (expression_statement "puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "puVar20") (= "=") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574"))) (; ";")) (expression_statement "puVar22 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar22 = PTR_do_gold_unreachable_004c1a30" (identifier "puVar22") (= "=") (identifier "PTR_do_gold_unreachable_004c1a30")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc)" (( "(") (identifier "puVar20") (, ",") (number_literal "0xcf") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x29fc" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x29fc")) () ")"))) (; ";")) (expression_statement "puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);" (assignment_expression "puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24)" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)**(undefined4 **)(puVar20 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puVar20 + 0x24)" (* "*") (pointer_expression "*(undefined4 **)(puVar20 + 0x24)" (* "*") (cast_expression "(undefined4 **)(puVar20 + 0x24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x24)" (( "(") (binary_expression "puVar20 + 0x24" (identifier "puVar20") (+ "+") (number_literal "0x24")) () ")"))))))) (; ";")) (expression_statement "puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];" (assignment_expression "puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1]" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*(undefined4 **)(puVar20 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(puVar20 + 0x24))" (( "(") (pointer_expression "*(undefined4 **)(puVar20 + 0x24)" (* "*") (cast_expression "(undefined4 **)(puVar20 + 0x24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x24)" (( "(") (binary_expression "puVar20 + 0x24" (identifier "puVar20") (+ "+") (number_literal "0x24")) () ")")))) () ")")) ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (-1 < *(int *)(puVar20 + 0x20) << 1) {\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }" (if "if") (parenthesized_expression "(-1 < *(int *)(puVar20 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(puVar20 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(puVar20 + 0x20) << 1" (pointer_expression "*(int *)(puVar20 + 0x20)" (* "*") (cast_expression "(int *)(puVar20 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x20)" (( "(") (binary_expression "puVar20 + 0x20" (identifier "puVar20") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\n      iVar3 = 0xcf;\n      pcVar26 = *(code **)(puVar22 + 0x291960);\n      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;\n      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);\n      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);\n      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];\n      if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }\n      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);\n      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;\n      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;\n      iVar4 = *(int *)(pcVar26 + 0x291558);\n      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n      iVar4 = *(int *)(iVar1 + 0x1c);\n      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;\n      in_t0 = puVar22 + iVar4;\n      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);\n      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;\n      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;\n      do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );\n    }" ({ "{") (expression_statement "iVar3 = 0xcf;" (assignment_expression "iVar3 = 0xcf" (identifier "iVar3") (= "=") (number_literal "0xcf")) (; ";")) (expression_statement "pcVar26 = *(code **)(puVar22 + 0x291960);" (assignment_expression "pcVar26 = *(code **)(puVar22 + 0x291960)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(puVar22 + 0x291960)" (* "*") (cast_expression "(code **)(puVar22 + 0x291960)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x291960)" (( "(") (binary_expression "puVar22 + 0x291960" (identifier "puVar22") (+ "+") (number_literal "0x291960")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;" (assignment_expression "iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574" (identifier "iVar1") (= "=") (binary_expression "*(int *)(puVar22 + 0x2911ac) + 0x3574" (pointer_expression "*(int *)(puVar22 + 0x2911ac)" (* "*") (cast_expression "(int *)(puVar22 + 0x2911ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0x2911ac)" (( "(") (binary_expression "puVar22 + 0x2911ac" (identifier "puVar22") (+ "+") (number_literal "0x2911ac")) () ")")))) (+ "+") (number_literal "0x3574"))) (; ";")) (expression_statement "(*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);" (call_expression "(*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc)" (( "(") (identifier "iVar1") (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(puVar22 + 0x29184c) + -0x29fc" (pointer_expression "*(int *)(puVar22 + 0x29184c)" (* "*") (cast_expression "(int *)(puVar22 + 0x29184c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0x29184c)" (( "(") (binary_expression "puVar22 + 0x29184c" (identifier "puVar22") (+ "+") (number_literal "0x29184c")) () ")")))) (+ "+") (number_literal "-0x29fc")) () ")"))) (; ";")) (expression_statement "puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);" (assignment_expression "puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24)" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)**(undefined4 **)(iVar1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(iVar1 + 0x24)" (* "*") (pointer_expression "*(undefined4 **)(iVar1 + 0x24)" (* "*") (cast_expression "(undefined4 **)(iVar1 + 0x24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")"))))))) (; ";")) (expression_statement "puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];" (assignment_expression "puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1]" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*(undefined4 **)(iVar1 + 0x24))[1]" (parenthesized_expression "(*(undefined4 **)(iVar1 + 0x24))" (( "(") (pointer_expression "*(undefined4 **)(iVar1 + 0x24)" (* "*") (cast_expression "(undefined4 **)(iVar1 + 0x24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")")))) () ")")) ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (-1 < *(int *)(iVar1 + 0x20) << 1) {\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(iVar1 + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar1 + 0x20) << 1" (pointer_expression "*(int *)(iVar1 + 0x20)" (* "*") (cast_expression "(int *)(iVar1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\n        pcVar27 = *(code **)(pcVar26 + 0x29166c);\n        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);\n        piVar12 = (int *)puVar7[2];\n        while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }\n        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);\n        puVar7[3] = 0;\n        puVar7[2] = 0;\n        if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }\n                    \n                    \n        (**(code **)(pcVar27 + 0x290cbc))();\n        return;\n      }" ({ "{") (expression_statement "pcVar27 = *(code **)(pcVar26 + 0x29166c);" (assignment_expression "pcVar27 = *(code **)(pcVar26 + 0x29166c)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(pcVar26 + 0x29166c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x29166c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x29166c)" (( "(") (binary_expression "pcVar26 + 0x29166c" (identifier "pcVar26") (+ "+") (number_literal "0x29166c")) () ")"))))) (; ";")) (expression_statement "puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);" (assignment_expression "puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x290eb8) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x290eb8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x290eb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x290eb8)" (( "(") (binary_expression "pcVar26 + 0x290eb8" (identifier "pcVar26") (+ "+") (number_literal "0x290eb8")) () ")")))) (+ "+") (number_literal "0x3574")) () ")")))) (; ";")) (expression_statement "(*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);" (call_expression "(*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc)" (( "(") (identifier "puVar7") (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(pcVar26 + 0x291558) + -0x29fc" (pointer_expression "*(int *)(pcVar26 + 0x291558)" (* "*") (cast_expression "(int *)(pcVar26 + 0x291558)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x291558)" (( "(") (binary_expression "pcVar26 + 0x291558" (identifier "pcVar26") (+ "+") (number_literal "0x291558")) () ")")))) (+ "+") (number_literal "-0x29fc")) () ")"))) (; ";")) (expression_statement "piVar12 = (int *)puVar7[2];" (assignment_expression "piVar12 = (int *)puVar7[2]" (identifier "piVar12") (= "=") (cast_expression "(int *)puVar7[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar7[2]" (identifier "puVar7") ([ "[") (number_literal "2") (] "]")))) (; ";")) (while_statement "while (piVar12 != (int *)0x0) {\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }" (while "while") (parenthesized_expression "(piVar12 != (int *)0x0)" (( "(") (binary_expression "piVar12 != (int *)0x0" (identifier "piVar12") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          piVar12 = (int *)*piVar12;\n          (**(code **)(pcVar27 + 0x290cbc))();\n        }" ({ "{") (expression_statement "piVar12 = (int *)*piVar12;" (assignment_expression "piVar12 = (int *)*piVar12" (identifier "piVar12") (= "=") (cast_expression "(int *)*piVar12" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar12" (* "*") (identifier "piVar12")))) (; ";")) (expression_statement "(**(code **)(pcVar27 + 0x290cbc))();" (call_expression "(**(code **)(pcVar27 + 0x290cbc))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x290cbc))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x290cbc)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x290cbc)" (* "*") (cast_expression "(code **)(pcVar27 + 0x290cbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x290cbc)" (( "(") (binary_expression "pcVar27 + 0x290cbc" (identifier "pcVar27") (+ "+") (number_literal "0x290cbc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);" (call_expression "(**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2)" (parenthesized_expression "(**(code **)(pcVar27 + 0x295628))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x295628)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x295628)" (* "*") (cast_expression "(code **)(pcVar27 + 0x295628)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x295628)" (( "(") (binary_expression "pcVar27 + 0x295628" (identifier "pcVar27") (+ "+") (number_literal "0x295628")) () ")"))))) () ")")) (argument_list "(*puVar7,0,puVar7[1] << 2)" (( "(") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (, ",") (number_literal "0") (, ",") (binary_expression "puVar7[1] << 2" (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]")) (<< "<<") (number_literal "2")) () ")"))) (; ";")) (expression_statement "puVar7[3] = 0;" (assignment_expression "puVar7[3] = 0" (subscript_expression "puVar7[3]" (identifier "puVar7") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[2] = 0;" (assignment_expression "puVar7[2] = 0" (subscript_expression "puVar7[2]" (identifier "puVar7") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((undefined4 *)*puVar7 == puVar7 + 6) {\n          return;\n        }" (if "if") (parenthesized_expression "((undefined4 *)*puVar7 == puVar7 + 6)" (( "(") (binary_expression "(undefined4 *)*puVar7 == puVar7 + 6" (cast_expression "(undefined4 *)*puVar7" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))) (== "==") (binary_expression "puVar7 + 6" (identifier "puVar7") (+ "+") (number_literal "6"))) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar27 + 0x290cbc))();" (call_expression "(**(code **)(pcVar27 + 0x290cbc))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x290cbc))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x290cbc)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x290cbc)" (* "*") (cast_expression "(code **)(pcVar27 + 0x290cbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x290cbc)" (( "(") (binary_expression "pcVar27 + 0x290cbc" (identifier "pcVar27") (+ "+") (number_literal "0x290cbc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);" (assignment_expression "puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" (( "(") (binary_expression "((int)puVar21 - (int)puVar7 >> 2) * 0x38" (parenthesized_expression "((int)puVar21 - (int)puVar7 >> 2)" (( "(") (binary_expression "(int)puVar21 - (int)puVar7 >> 2" (binary_expression "(int)puVar21 - (int)puVar7" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (- "-") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "0x38")) () ")")))) (; ";")) (if_statement "if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x10) != 0" (pointer_expression "*(int *)(iVar1 + 0x10)" (* "*") (cast_expression "(int *)(iVar1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0023061c;" (goto "goto") (statement_identifier "LAB_0023061c") (; ";"))) (if_statement "if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;" (if "if") (parenthesized_expression "(*(undefined **)(iVar1 + 0x14) != puVar22)" (( "(") (binary_expression "*(undefined **)(iVar1 + 0x14) != puVar22" (pointer_expression "*(undefined **)(iVar1 + 0x14)" (* "*") (cast_expression "(undefined **)(iVar1 + 0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x14)" (( "(") (binary_expression "iVar1 + 0x14" (identifier "iVar1") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (identifier "puVar22")) () ")")) (goto_statement "goto LAB_0023061c;" (goto "goto") (statement_identifier "LAB_0023061c") (; ";"))) (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar26 + 0x291558)" (* "*") (cast_expression "(int *)(pcVar26 + 0x291558)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x291558)" (( "(") (binary_expression "pcVar26 + 0x291558" (identifier "pcVar26") (+ "+") (number_literal "0x291558")) () ")"))))) (; ";")) (if_statement "if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(iVar1 + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar1 + 0x20) << 2" (pointer_expression "*(int *)(iVar1 + 0x20)" (* "*") (cast_expression "(int *)(iVar1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (goto_statement "goto LAB_002305e4;" (goto "goto") (statement_identifier "LAB_002305e4") (; ";"))) (expression_statement "iVar4 = *(int *)(iVar1 + 0x1c);" (assignment_expression "iVar4 = *(int *)(iVar1 + 0x1c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar1 + 0x1c)" (* "*") (cast_expression "(int *)(iVar1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1c)" (( "(") (binary_expression "iVar1 + 0x1c" (identifier "iVar1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x18) < 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x18) < 0" (pointer_expression "*(int *)(iVar1 + 0x18)" (* "*") (cast_expression "(int *)(iVar1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00230610;" (goto "goto") (statement_identifier "LAB_00230610") (; ";"))) (expression_statement "in_t0 = puVar22 + iVar4;" (assignment_expression "in_t0 = puVar22 + iVar4" (identifier "in_t0") (= "=") (binary_expression "puVar22 + iVar4" (identifier "puVar22") (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);" (assignment_expression "iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18)" (identifier "iVar6") (= "=") (binary_expression "(uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18)" (call_expression "(uint)(in_t0 < puVar22)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_t0 < puVar22)" (( "(") (binary_expression "in_t0 < puVar22" (identifier "in_t0") (< "<") (identifier "puVar22")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar1 + 0x18)" (* "*") (cast_expression "(int *)(iVar1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 8) < iVar6)" (( "(") (binary_expression "*(int *)(iVar3 + 8) < iVar6" (pointer_expression "*(int *)(iVar3 + 8)" (* "*") (cast_expression "(int *)(iVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")")))) (< "<") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_00230610;" (goto "goto") (statement_identifier "LAB_00230610") (; ";"))) (if_statement "if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 8) == iVar6)" (( "(") (binary_expression "*(int *)(iVar3 + 8) == iVar6" (pointer_expression "*(int *)(iVar3 + 8)" (* "*") (cast_expression "(int *)(iVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")")))) (== "==") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_002305fc;" (goto "goto") (statement_identifier "LAB_002305fc") (; ";"))) (do_statement "do {\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      } while( true );" (do "do") (compound_statement "{\n        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);\n        puVar10 = puVar24;\n        if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }\n        while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }\n      }" ({ "{") (expression_statement "puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);" (assignment_expression "puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0x10) + iVar4)" (( "(") (binary_expression "*(int *)(iVar3 + 0x10) + iVar4" (pointer_expression "*(int *)(iVar3 + 0x10)" (* "*") (cast_expression "(int *)(iVar3 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x10)" (( "(") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "puVar10 = puVar24;" (assignment_expression "puVar10 = puVar24" (identifier "puVar10") (= "=") (identifier "puVar24")) (; ";")) (if_statement "if (puVar7 == puVar21) {\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }\n        else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" (if "if") (parenthesized_expression "(puVar7 == puVar21)" (( "(") (binary_expression "puVar7 == puVar21" (identifier "puVar7") (== "==") (identifier "puVar21")) () ")")) (compound_statement "{\n          if (puVar22 == (undefined *)0x0) {\n            return;\n          }\n          uVar2 = 0x1ab;\n        }" ({ "{") (if_statement "if (puVar22 == (undefined *)0x0) {\n            return;\n          }" (if "if") (parenthesized_expression "(puVar22 == (undefined *)0x0)" (( "(") (binary_expression "puVar22 == (undefined *)0x0" (identifier "puVar22") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            return;\n          }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" (identifier "uVar2") (= "=") (number_literal "0x1ab")) (; ";")) (} "}")) (else_clause "else {\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" (else "else") (compound_statement "{\n          do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);\nLAB_00230560:\n          puVar7 = puVar25 + 1;\n          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));\n          uVar2 = 0x1ab;\n          if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }\n        }" ({ "{") (do_statement "do {\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);" (do "do") (compound_statement "{\n            while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }\n            iVar3 = *(int *)(iVar1 + 0x24);\n            puVar21[0xc] = uVar9;\n            puVar21[0xd] = uVar14;\n            puVar10 = puVar21 + 0xe;\n            puVar7 = puVar25 + 1;\n          }" ({ "{") (while_statement "while( true ) {\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              puVar25 = puVar7;\n              puVar21 = puVar10;\n              pOVar17 = (Output_segment *)*puVar25;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x188);\n              uVar13 = *(undefined4 *)(pOVar17 + 0x198);\n              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);\n              puVar21[2] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x164);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x160);\n              *puVar21 = uVar13;\n              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);\n              puVar21[5] = uVar8;\n              puVar21[4] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 0x168);\n              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);\n              puVar21[6] = uVar2;\n              uVar2 = *(undefined4 *)(pOVar17 + 400);\n              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);\n              puVar21[8] = uVar2;\n              uVar8 = *(undefined4 *)(pOVar17 + 0x174);\n              uVar2 = *(undefined4 *)(pOVar17 + 0x170);\n              puVar21[1] = uVar13;\n              puVar21[0xb] = uVar8;\n              puVar21[10] = uVar2;\n              uVar28 = Output_segment::maximum_alignment(pOVar17);\n              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n              uVar9 = *(uint *)(pOVar17 + 0x180);\n              uVar14 = *(uint *)(pOVar17 + 0x184);\n              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;\n              iVar3 = *(int *)(iVar1 + 0x24);\n              *(undefined8 *)(puVar21 + 0xc) = uVar28;\n              puVar10 = puVar21 + 0xe;\n              puVar7 = puVar25 + 1;\n              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;\n            }" ({ "{") (expression_statement "puVar25 = puVar7;" (assignment_expression "puVar25 = puVar7" (identifier "puVar25") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "puVar21 = puVar10;" (assignment_expression "puVar21 = puVar10" (identifier "puVar21") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "pOVar17 = (Output_segment *)*puVar25;" (assignment_expression "pOVar17 = (Output_segment *)*puVar25" (identifier "pOVar17") (= "=") (cast_expression "(Output_segment *)*puVar25" (( "(") (type_descriptor "Output_segment *" (type_identifier "Output_segment") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar25" (* "*") (identifier "puVar25")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x188);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x188)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x188)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x188)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x188)" (( "(") (binary_expression "pOVar17 + 0x188" (identifier "pOVar17") (+ "+") (number_literal "0x188")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(pOVar17 + 0x198);" (assignment_expression "uVar13 = *(undefined4 *)(pOVar17 + 0x198)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x198)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x198)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x198)" (( "(") (binary_expression "pOVar17 + 0x198" (identifier "pOVar17") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (expression_statement "puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);" (assignment_expression "puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c)" (subscript_expression "puVar21[3]" (identifier "puVar21") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x18c)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x18c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x18c)" (( "(") (binary_expression "pOVar17 + 0x18c" (identifier "pOVar17") (+ "+") (number_literal "0x18c")) () ")"))))) (; ";")) (expression_statement "puVar21[2] = uVar2;" (assignment_expression "puVar21[2] = uVar2" (subscript_expression "puVar21[2]" (identifier "puVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(pOVar17 + 0x164);" (assignment_expression "uVar8 = *(undefined4 *)(pOVar17 + 0x164)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x164)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x164)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x164)" (( "(") (binary_expression "pOVar17 + 0x164" (identifier "pOVar17") (+ "+") (number_literal "0x164")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x160);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x160)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x160)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x160)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x160)" (( "(") (binary_expression "pOVar17 + 0x160" (identifier "pOVar17") (+ "+") (number_literal "0x160")) () ")"))))) (; ";")) (expression_statement "*puVar21 = uVar13;" (assignment_expression "*puVar21 = uVar13" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(pOVar17 + 0x19c);" (assignment_expression "uVar13 = *(undefined4 *)(pOVar17 + 0x19c)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x19c)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x19c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x19c)" (( "(") (binary_expression "pOVar17 + 0x19c" (identifier "pOVar17") (+ "+") (number_literal "0x19c")) () ")"))))) (; ";")) (expression_statement "puVar21[5] = uVar8;" (assignment_expression "puVar21[5] = uVar8" (subscript_expression "puVar21[5]" (identifier "puVar21") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar21[4] = uVar2;" (assignment_expression "puVar21[4] = uVar2" (subscript_expression "puVar21[4]" (identifier "puVar21") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x168);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x168)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x168)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x168)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x168)" (( "(") (binary_expression "pOVar17 + 0x168" (identifier "pOVar17") (+ "+") (number_literal "0x168")) () ")"))))) (; ";")) (expression_statement "puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);" (assignment_expression "puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c)" (subscript_expression "puVar21[7]" (identifier "puVar21") ([ "[") (number_literal "7") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x16c)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x16c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x16c)" (( "(") (binary_expression "pOVar17 + 0x16c" (identifier "pOVar17") (+ "+") (number_literal "0x16c")) () ")"))))) (; ";")) (expression_statement "puVar21[6] = uVar2;" (assignment_expression "puVar21[6] = uVar2" (subscript_expression "puVar21[6]" (identifier "puVar21") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 400);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 400)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 400)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 400)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 400)" (( "(") (binary_expression "pOVar17 + 400" (identifier "pOVar17") (+ "+") (number_literal "400")) () ")"))))) (; ";")) (expression_statement "puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);" (assignment_expression "puVar21[9] = *(undefined4 *)(pOVar17 + 0x194)" (subscript_expression "puVar21[9]" (identifier "puVar21") ([ "[") (number_literal "9") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x194)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x194)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x194)" (( "(") (binary_expression "pOVar17 + 0x194" (identifier "pOVar17") (+ "+") (number_literal "0x194")) () ")"))))) (; ";")) (expression_statement "puVar21[8] = uVar2;" (assignment_expression "puVar21[8] = uVar2" (subscript_expression "puVar21[8]" (identifier "puVar21") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(pOVar17 + 0x174);" (assignment_expression "uVar8 = *(undefined4 *)(pOVar17 + 0x174)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x174)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x174)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x174)" (( "(") (binary_expression "pOVar17 + 0x174" (identifier "pOVar17") (+ "+") (number_literal "0x174")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x170);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x170)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x170)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x170)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x170)" (( "(") (binary_expression "pOVar17 + 0x170" (identifier "pOVar17") (+ "+") (number_literal "0x170")) () ")"))))) (; ";")) (expression_statement "puVar21[1] = uVar13;" (assignment_expression "puVar21[1] = uVar13" (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "puVar21[0xb] = uVar8;" (assignment_expression "puVar21[0xb] = uVar8" (subscript_expression "puVar21[0xb]" (identifier "puVar21") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar21[10] = uVar2;" (assignment_expression "puVar21[10] = uVar2" (subscript_expression "puVar21[10]" (identifier "puVar21") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (ERROR "uVar28 = Output_segment::" (assignment_expression "uVar28 = Output_segment" (identifier "uVar28") (= "=") (identifier "Output_segment")) (: ":") (: ":")) (expression_statement "maximum_alignment(pOVar17);" (call_expression "maximum_alignment(pOVar17)" (identifier "maximum_alignment") (argument_list "(pOVar17)" (( "(") (identifier "pOVar17") () ")"))) (; ";")) (expression_statement "uVar5 = (uint)((ulonglong)uVar28 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar28 >> 0x20)" (identifier "uVar5") (= "=") (call_expression "(uint)((ulonglong)uVar28 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar28")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar9 = *(uint *)(pOVar17 + 0x180);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x180)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x180)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x180)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x180)" (( "(") (binary_expression "pOVar17 + 0x180" (identifier "pOVar17") (+ "+") (number_literal "0x180")) () ")"))))) (; ";")) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x184);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x184)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x184)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x184)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x184)" (( "(") (binary_expression "pOVar17 + 0x184" (identifier "pOVar17") (+ "+") (number_literal "0x184")) () ")"))))) (; ";")) (if_statement "if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;" (if "if") (parenthesized_expression "((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14))))" (( "(") (binary_expression "(uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))" (parenthesized_expression "(uVar5 <= uVar9)" (( "(") (binary_expression "uVar5 <= uVar9" (identifier "uVar5") (<= "<=") (identifier "uVar9")) () ")")) (&& "&&") (parenthesized_expression "((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))" (( "(") (parenthesized_expression "(uVar5 != uVar9 || ((uint)uVar28 <= uVar14))" (( "(") (binary_expression "uVar5 != uVar9 || ((uint)uVar28 <= uVar14)" (binary_expression "uVar5 != uVar9" (identifier "uVar5") (!= "!=") (identifier "uVar9")) (|| "||") (parenthesized_expression "((uint)uVar28 <= uVar14)" (( "(") (binary_expression "(uint)uVar28 <= uVar14" (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28")) (<= "<=") (identifier "uVar14")) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = *(int *)(iVar1 + 0x24);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x24)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar1 + 0x24)" (* "*") (cast_expression "(int *)(iVar1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(puVar21 + 0xc) = uVar28;" (assignment_expression "*(undefined8 *)(puVar21 + 0xc) = uVar28" (pointer_expression "*(undefined8 *)(puVar21 + 0xc)" (* "*") (cast_expression "(undefined8 *)(puVar21 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0xc)" (( "(") (binary_expression "puVar21 + 0xc" (identifier "puVar21") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar28")) (; ";")) (expression_statement "puVar10 = puVar21 + 0xe;" (assignment_expression "puVar10 = puVar21 + 0xe" (identifier "puVar10") (= "=") (binary_expression "puVar21 + 0xe" (identifier "puVar21") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "puVar7 = puVar25 + 1;" (assignment_expression "puVar7 = puVar25 + 1" (identifier "puVar7") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;" (if "if") (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) == puVar25 + 1)" (( "(") (binary_expression "*(undefined4 **)(iVar3 + 4) == puVar25 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (== "==") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_00230560;" (goto "goto") (statement_identifier "LAB_00230560") (; ";"))) (} "}"))) (expression_statement "iVar3 = *(int *)(iVar1 + 0x24);" (assignment_expression "iVar3 = *(int *)(iVar1 + 0x24)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar1 + 0x24)" (* "*") (cast_expression "(int *)(iVar1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "puVar21[0xc] = uVar9;" (assignment_expression "puVar21[0xc] = uVar9" (subscript_expression "puVar21[0xc]" (identifier "puVar21") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar21[0xd] = uVar14;" (assignment_expression "puVar21[0xd] = uVar14" (subscript_expression "puVar21[0xd]" (identifier "puVar21") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "puVar10 = puVar21 + 0xe;" (assignment_expression "puVar10 = puVar21 + 0xe" (identifier "puVar10") (= "=") (binary_expression "puVar21 + 0xe" (identifier "puVar21") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "puVar7 = puVar25 + 1;" (assignment_expression "puVar7 = puVar25 + 1" (identifier "puVar7") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) != puVar25 + 1)" (( "(") (binary_expression "*(undefined4 **)(iVar3 + 4) != puVar25 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) () ")")) (; ";")) (labeled_statement "LAB_00230560:\n          puVar7 = puVar25 + 1;" (statement_identifier "LAB_00230560") (: ":") (expression_statement "puVar7 = puVar25 + 1;" (assignment_expression "puVar7 = puVar25 + 1" (identifier "puVar7") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));" (assignment_expression "puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24))" (identifier "puVar20") (= "=") (cast_expression "(undefined *)((int)puVar21 + (0x38 - (int)puVar24))" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + (0x38 - (int)puVar24))" (( "(") (binary_expression "(int)puVar21 + (0x38 - (int)puVar24)" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (parenthesized_expression "(0x38 - (int)puVar24)" (( "(") (binary_expression "0x38 - (int)puVar24" (number_literal "0x38") (- "-") (cast_expression "(int)puVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar24"))) () ")"))) () ")")))) (; ";")) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" (identifier "uVar2") (= "=") (number_literal "0x1ab")) (; ";")) (if_statement "if (-1 < (int)puVar20) {\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }" (if "if") (parenthesized_expression "(-1 < (int)puVar20)" (( "(") (binary_expression "-1 < (int)puVar20" (number_literal "-1") (< "<") (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20"))) () ")")) (compound_statement "{\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (puVar20 != puVar22) goto LAB_002305d0;\n            iVar4 = *(int *)(pcVar26 + 0x291558);\n            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;\n            return;\n          }" ({ "{") (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar26 + 0x291558)" (* "*") (cast_expression "(int *)(pcVar26 + 0x291558)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x291558)" (( "(") (binary_expression "pcVar26 + 0x291558" (identifier "pcVar26") (+ "+") (number_literal "0x291558")) () ")"))))) (; ";")) (if_statement "if (puVar20 != puVar22) goto LAB_002305d0;" (if "if") (parenthesized_expression "(puVar20 != puVar22)" (( "(") (binary_expression "puVar20 != puVar22" (identifier "puVar20") (!= "!=") (identifier "puVar22")) () ")")) (goto_statement "goto LAB_002305d0;" (goto "goto") (statement_identifier "LAB_002305d0") (; ";"))) (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar26 + 0x291558)" (* "*") (cast_expression "(int *)(pcVar26 + 0x291558)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x291558)" (( "(") (binary_expression "pcVar26 + 0x291558" (identifier "pcVar26") (+ "+") (number_literal "0x291558")) () ")"))))) (; ";")) (if_statement "if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar1 + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(iVar1 + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar1 + 0x20) << 2" (pointer_expression "*(int *)(iVar1 + 0x20)" (* "*") (cast_expression "(int *)(iVar1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (goto_statement "goto LAB_002305e4;" (goto "goto") (statement_identifier "LAB_002305e4") (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (while_statement "while( true ) {\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          iVar4 = *(int *)(pcVar26 + 0x291558);\nLAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;\n          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);\nLAB_002305e4:\n          iVar3 = 0xe3;\n          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);\n          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);\n          iVar4 = extraout_v1_01;\nLAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);\n          if (in_t0 == (undefined *)0x0) break;\nLAB_00230610:\n          FUN_00212d10();\nLAB_0023061c:\n          uVar2 = 0x19e;\n        }" ({ "{") (expression_statement "iVar4 = *(int *)(pcVar26 + 0x291558);" (assignment_expression "iVar4 = *(int *)(pcVar26 + 0x291558)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar26 + 0x291558)" (* "*") (cast_expression "(int *)(pcVar26 + 0x291558)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x291558)" (( "(") (binary_expression "pcVar26 + 0x291558" (identifier "pcVar26") (+ "+") (number_literal "0x291558")) () ")"))))) (; ";")) (labeled_statement "LAB_002305d0:\n          iVar4 = iVar4 + -0x2b68;" (statement_identifier "LAB_002305d0") (: ":") (expression_statement "iVar4 = iVar4 + -0x2b68;" (assignment_expression "iVar4 = iVar4 + -0x2b68" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -0x2b68" (identifier "iVar4") (+ "+") (number_literal "-0x2b68"))) (; ";"))) (expression_statement "(**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);" (call_expression "(**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2)" (parenthesized_expression "(**(code **)(pcVar26 + 0x29166c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x29166c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x29166c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x29166c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x29166c)" (( "(") (binary_expression "pcVar26 + 0x29166c" (identifier "pcVar26") (+ "+") (number_literal "0x29166c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x291558) + -0x48b4" (pointer_expression "*(int *)(pcVar26 + 0x291558)" (* "*") (cast_expression "(int *)(pcVar26 + 0x291558)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x291558)" (( "(") (binary_expression "pcVar26 + 0x291558" (identifier "pcVar26") (+ "+") (number_literal "0x291558")) () ")")))) (+ "+") (number_literal "-0x48b4")) (, ",") (identifier "uVar2") () ")"))) (; ";")) (labeled_statement "LAB_002305e4:\n          iVar3 = 0xe3;" (statement_identifier "LAB_002305e4") (: ":") (expression_statement "iVar3 = 0xe3;" (assignment_expression "iVar3 = 0xe3" (identifier "iVar3") (= "=") (number_literal "0xe3")) (; ";"))) (expression_statement "puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);" (assignment_expression "puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x290eb8) + 0x3574)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x290eb8) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x290eb8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x290eb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x290eb8)" (( "(") (binary_expression "pcVar26 + 0x290eb8" (identifier "pcVar26") (+ "+") (number_literal "0x290eb8")) () ")")))) (+ "+") (number_literal "0x3574")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);" (call_expression "(**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78)" (parenthesized_expression "(**(code **)(pcVar26 + 0x29166c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x29166c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x29166c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x29166c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x29166c)" (( "(") (binary_expression "pcVar26 + 0x29166c" (identifier "pcVar26") (+ "+") (number_literal "0x29166c")) () ")"))))) () ")")) (argument_list "(puVar21,0xe3,iVar4 + -0x2a78)" (( "(") (identifier "puVar21") (, ",") (number_literal "0xe3") (, ",") (binary_expression "iVar4 + -0x2a78" (identifier "iVar4") (+ "+") (number_literal "-0x2a78")) () ")"))) (; ";")) (expression_statement "iVar4 = extraout_v1_01;" (assignment_expression "iVar4 = extraout_v1_01" (identifier "iVar4") (= "=") (identifier "extraout_v1_01")) (; ";")) (labeled_statement "LAB_002305fc:\n          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);" (statement_identifier "LAB_002305fc") (: ":") (expression_statement "in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);" (assignment_expression "in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0)" (identifier "in_t0") (= "=") (cast_expression "(undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(*(undefined **)(iVar3 + 0xc) < in_t0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(undefined **)(iVar3 + 0xc) < in_t0)" (( "(") (binary_expression "*(undefined **)(iVar3 + 0xc) < in_t0" (pointer_expression "*(undefined **)(iVar3 + 0xc)" (* "*") (cast_expression "(undefined **)(iVar3 + 0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "in_t0")) () ")"))))) (; ";"))) (if_statement "if (in_t0 == (undefined *)0x0) break;" (if "if") (parenthesized_expression "(in_t0 == (undefined *)0x0)" (( "(") (binary_expression "in_t0 == (undefined *)0x0" (identifier "in_t0") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_00230610:\n          FUN_00212d10();" (statement_identifier "LAB_00230610") (: ":") (expression_statement "FUN_00212d10();" (call_expression "FUN_00212d10()" (identifier "FUN_00212d10") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_0023061c:\n          uVar2 = 0x19e;" (statement_identifier "LAB_0023061c") (: ":") (expression_statement "uVar2 = 0x19e;" (assignment_expression "uVar2 = 0x19e" (identifier "uVar2") (= "=") (number_literal "0x19e")) (; ";"))) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);" (assignment_expression "puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" (identifier "puVar11") (= "=") (cast_expression "(undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int)puVar21 - (int)puVar7 >> 2) * 0x38)" (( "(") (binary_expression "((int)puVar21 - (int)puVar7 >> 2) * 0x38" (parenthesized_expression "((int)puVar21 - (int)puVar7 >> 2)" (( "(") (binary_expression "(int)puVar21 - (int)puVar7 >> 2" (binary_expression "(int)puVar21 - (int)puVar7" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (- "-") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "0x38")) () ")")))) (; ";")) (if_statement "if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;" (if "if") (parenthesized_expression "(*(int *)(puVar20 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(puVar20 + 0x10) != 0" (pointer_expression "*(int *)(puVar20 + 0x10)" (* "*") (cast_expression "(int *)(puVar20 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x10)" (( "(") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002303a0;" (goto "goto") (statement_identifier "LAB_002303a0") (; ";"))) (if_statement "if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;" (if "if") (parenthesized_expression "(*(undefined **)(puVar20 + 0x14) != puVar11)" (( "(") (binary_expression "*(undefined **)(puVar20 + 0x14) != puVar11" (pointer_expression "*(undefined **)(puVar20 + 0x14)" (* "*") (cast_expression "(undefined **)(puVar20 + 0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x14)" (( "(") (binary_expression "puVar20 + 0x14" (identifier "puVar20") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (identifier "puVar11")) () ")")) (goto_statement "goto LAB_002303a0;" (goto "goto") (statement_identifier "LAB_002303a0") (; ";"))) (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar22 + 0x29184c)" (* "*") (cast_expression "(int *)(puVar22 + 0x29184c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0x29184c)" (( "(") (binary_expression "puVar22 + 0x29184c" (identifier "puVar22") (+ "+") (number_literal "0x29184c")) () ")"))))) (; ";")) (if_statement "if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;" (if "if") (parenthesized_expression "(-1 < *(int *)(puVar20 + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(puVar20 + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(puVar20 + 0x20) << 2" (pointer_expression "*(int *)(puVar20 + 0x20)" (* "*") (cast_expression "(int *)(puVar20 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x20)" (( "(") (binary_expression "puVar20 + 0x20" (identifier "puVar20") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (goto_statement "goto LAB_00230368;" (goto "goto") (statement_identifier "LAB_00230368") (; ";"))) (expression_statement "iVar3 = *(int *)(puVar20 + 0x1c);" (assignment_expression "iVar3 = *(int *)(puVar20 + 0x1c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar20 + 0x1c)" (* "*") (cast_expression "(int *)(puVar20 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x1c)" (( "(") (binary_expression "puVar20 + 0x1c" (identifier "puVar20") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;" (if "if") (parenthesized_expression "(*(int *)(puVar20 + 0x18) < 0)" (( "(") (binary_expression "*(int *)(puVar20 + 0x18) < 0" (pointer_expression "*(int *)(puVar20 + 0x18)" (* "*") (cast_expression "(int *)(puVar20 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x18)" (( "(") (binary_expression "puVar20 + 0x18" (identifier "puVar20") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00230394;" (goto "goto") (statement_identifier "LAB_00230394") (; ";"))) (expression_statement "in_t0 = puVar11 + iVar3;" (assignment_expression "in_t0 = puVar11 + iVar3" (identifier "in_t0") (= "=") (binary_expression "puVar11 + iVar3" (identifier "puVar11") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);" (assignment_expression "iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18)" (identifier "iVar4") (= "=") (binary_expression "(uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18)" (call_expression "(uint)(in_t0 < puVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_t0 < puVar11)" (( "(") (binary_expression "in_t0 < puVar11" (identifier "in_t0") (< "<") (identifier "puVar11")) () ")"))) (+ "+") (pointer_expression "*(int *)(puVar20 + 0x18)" (* "*") (cast_expression "(int *)(puVar20 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x18)" (( "(") (binary_expression "puVar20 + 0x18" (identifier "puVar20") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 8) < iVar4)" (( "(") (binary_expression "*(int *)(iVar1 + 8) < iVar4" (pointer_expression "*(int *)(iVar1 + 8)" (* "*") (cast_expression "(int *)(iVar1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (< "<") (identifier "iVar4")) () ")")) (goto_statement "goto LAB_00230394;" (goto "goto") (statement_identifier "LAB_00230394") (; ";"))) (if_statement "if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 8) == iVar4)" (( "(") (binary_expression "*(int *)(iVar1 + 8) == iVar4" (pointer_expression "*(int *)(iVar1 + 8)" (* "*") (cast_expression "(int *)(iVar1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (== "==") (identifier "iVar4")) () ")")) (goto_statement "goto LAB_00230380;" (goto "goto") (statement_identifier "LAB_00230380") (; ";"))) (do_statement "do {\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    } while( true );" (do "do") (compound_statement "{\n      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);\n      piVar12 = piVar23;\n      if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }\n      while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }\n    }" ({ "{") (expression_statement "piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);" (assignment_expression "piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3)" (identifier "piVar23") (= "=") (cast_expression "(int *)(*(int *)(iVar1 + 0x10) + iVar3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar1 + 0x10) + iVar3)" (( "(") (binary_expression "*(int *)(iVar1 + 0x10) + iVar3" (pointer_expression "*(int *)(iVar1 + 0x10)" (* "*") (cast_expression "(int *)(iVar1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (identifier "iVar3")) () ")")))) (; ";")) (expression_statement "piVar12 = piVar23;" (assignment_expression "piVar12 = piVar23" (identifier "piVar12") (= "=") (identifier "piVar23")) (; ";")) (if_statement "if (puVar7 == puVar21) {\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }\n      else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" (if "if") (parenthesized_expression "(puVar7 == puVar21)" (( "(") (binary_expression "puVar7 == puVar21" (identifier "puVar7") (== "==") (identifier "puVar21")) () ")")) (compound_statement "{\n        if (puVar11 == (undefined *)0x0) {\n          return;\n        }\n        uVar2 = 0x1ab;\n      }" ({ "{") (if_statement "if (puVar11 == (undefined *)0x0) {\n          return;\n        }" (if "if") (parenthesized_expression "(puVar11 == (undefined *)0x0)" (( "(") (binary_expression "puVar11 == (undefined *)0x0" (identifier "puVar11") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" (identifier "uVar2") (= "=") (number_literal "0x1ab")) (; ";")) (} "}")) (else_clause "else {\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" (else "else") (compound_statement "{\n        do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);\nLAB_002302e4:\n        puVar7 = puVar21 + 1;\n        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));\n        uVar2 = 0x1ab;\n        if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }\n      }" ({ "{") (do_statement "do {\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        } while (puVar10 != puVar21 + 1);" (do "do") (compound_statement "{\n          while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }\n          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n          piVar12 = piVar18 + 0xe;\n          puVar7 = puVar21 + 1;\n        }" ({ "{") (while_statement "while( true ) {\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            puVar21 = puVar7;\n            piVar18 = piVar12;\n            pOVar17 = (Output_segment *)*puVar21;\n            uVar9 = *(uint *)(pOVar17 + 0x188);\n            uVar5 = *(uint *)(pOVar17 + 0x18c);\n            uVar14 = *(uint *)(pOVar17 + 0x198);\n            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x160);\n            uVar5 = *(uint *)(pOVar17 + 0x164);\n            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            uVar14 = *(uint *)(pOVar17 + 0x19c);\n            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x168);\n            uVar5 = *(uint *)(pOVar17 + 0x16c);\n            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 400);\n            uVar5 = *(uint *)(pOVar17 + 0x194);\n            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar9 = *(uint *)(pOVar17 + 0x170);\n            uVar5 = *(uint *)(pOVar17 + 0x174);\n            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n            uVar29 = Output_segment::maximum_alignment(pOVar17);\n            uVar5 = (uint)(uVar29 >> 0x20);\n            uVar9 = (uint)uVar29;\n            uVar14 = *(uint *)(pOVar17 + 0x180);\n            uVar15 = *(uint *)(pOVar17 + 0x184);\n            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;\n            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);\n            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;\n            piVar12 = piVar18 + 0xe;\n            puVar7 = puVar21 + 1;\n            if (puVar10 == puVar21 + 1) goto LAB_002302e4;\n          }" ({ "{") (expression_statement "puVar21 = puVar7;" (assignment_expression "puVar21 = puVar7" (identifier "puVar21") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "piVar18 = piVar12;" (assignment_expression "piVar18 = piVar12" (identifier "piVar18") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "pOVar17 = (Output_segment *)*puVar21;" (assignment_expression "pOVar17 = (Output_segment *)*puVar21" (identifier "pOVar17") (= "=") (cast_expression "(Output_segment *)*puVar21" (( "(") (type_descriptor "Output_segment *" (type_identifier "Output_segment") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")))) (; ";")) (expression_statement "uVar9 = *(uint *)(pOVar17 + 0x188);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x188)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x188)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x188)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x188)" (( "(") (binary_expression "pOVar17 + 0x188" (identifier "pOVar17") (+ "+") (number_literal "0x188")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x18c);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x18c)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x18c)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x18c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x18c)" (( "(") (binary_expression "pOVar17 + 0x18c" (identifier "pOVar17") (+ "+") (number_literal "0x18c")) () ")"))))) (; ";")) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x198);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x198)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x198)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x198)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x198)" (( "(") (binary_expression "pOVar17 + 0x198" (identifier "pOVar17") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (expression_statement "piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[3]" (identifier "piVar18") ([ "[") (number_literal "3") (] "]")) (= "=") (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 "piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (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 "uVar9 = *(uint *)(pOVar17 + 0x160);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x160)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x160)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x160)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x160)" (( "(") (binary_expression "pOVar17 + 0x160" (identifier "pOVar17") (+ "+") (number_literal "0x160")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x164);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x164)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x164)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x164)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x164)" (( "(") (binary_expression "pOVar17 + 0x164" (identifier "pOVar17") (+ "+") (number_literal "0x164")) () ")"))))) (; ";")) (expression_statement "*piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" (( "(") (binary_expression "uVar14 >> 0x10" (identifier "uVar14") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" (( "(") (binary_expression "uVar14 >> 0x18" (identifier "uVar14") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" (( "(") (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" (( "(") (binary_expression "uVar14 & 0xff" (identifier "uVar14") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" (identifier "uVar14") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x19c);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x19c)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x19c)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x19c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x19c)" (( "(") (binary_expression "pOVar17 + 0x19c" (identifier "pOVar17") (+ "+") (number_literal "0x19c")) () ")"))))) (; ";")) (expression_statement "piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[5]" (identifier "piVar18") ([ "[") (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 "piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[4]" (identifier "piVar18") ([ "[") (number_literal "4") (] "]")) (= "=") (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 "uVar9 = *(uint *)(pOVar17 + 0x168);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x168)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x168)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x168)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x168)" (( "(") (binary_expression "pOVar17 + 0x168" (identifier "pOVar17") (+ "+") (number_literal "0x168")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x16c);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x16c)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x16c)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x16c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x16c)" (( "(") (binary_expression "pOVar17 + 0x16c" (identifier "pOVar17") (+ "+") (number_literal "0x16c")) () ")"))))) (; ";")) (expression_statement "piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[7]" (identifier "piVar18") ([ "[") (number_literal "7") (] "]")) (= "=") (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 "piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[6]" (identifier "piVar18") ([ "[") (number_literal "6") (] "]")) (= "=") (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 "uVar9 = *(uint *)(pOVar17 + 400);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 400)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(pOVar17 + 400)" (* "*") (cast_expression "(uint *)(pOVar17 + 400)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 400)" (( "(") (binary_expression "pOVar17 + 400" (identifier "pOVar17") (+ "+") (number_literal "400")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x194);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x194)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x194)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x194)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x194)" (( "(") (binary_expression "pOVar17 + 0x194" (identifier "pOVar17") (+ "+") (number_literal "0x194")) () ")"))))) (; ";")) (expression_statement "piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[9]" (identifier "piVar18") ([ "[") (number_literal "9") (] "]")) (= "=") (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 "piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[8]" (identifier "piVar18") ([ "[") (number_literal "8") (] "]")) (= "=") (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 "uVar9 = *(uint *)(pOVar17 + 0x170);" (assignment_expression "uVar9 = *(uint *)(pOVar17 + 0x170)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x170)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x170)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x170)" (( "(") (binary_expression "pOVar17 + 0x170" (identifier "pOVar17") (+ "+") (number_literal "0x170")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(pOVar17 + 0x174);" (assignment_expression "uVar5 = *(uint *)(pOVar17 + 0x174)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x174)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x174)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x174)" (( "(") (binary_expression "pOVar17 + 0x174" (identifier "pOVar17") (+ "+") (number_literal "0x174")) () ")"))))) (; ";")) (expression_statement "piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" (( "(") (binary_expression "uVar14 >> 0x10" (identifier "uVar14") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" (( "(") (binary_expression "uVar14 >> 0x18" (identifier "uVar14") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" (( "(") (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" (( "(") (binary_expression "uVar14 & 0xff" (identifier "uVar14") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" (identifier "uVar14") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (= "=") (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 "piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[10]" (identifier "piVar18") ([ "[") (number_literal "10") (] "]")) (= "=") (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")))) (; ";")) (ERROR "uVar29 = Output_segment::" (assignment_expression "uVar29 = Output_segment" (identifier "uVar29") (= "=") (identifier "Output_segment")) (: ":") (: ":")) (expression_statement "maximum_alignment(pOVar17);" (call_expression "maximum_alignment(pOVar17)" (identifier "maximum_alignment") (argument_list "(pOVar17)" (( "(") (identifier "pOVar17") () ")"))) (; ";")) (expression_statement "uVar5 = (uint)(uVar29 >> 0x20);" (assignment_expression "uVar5 = (uint)(uVar29 >> 0x20)" (identifier "uVar5") (= "=") (call_expression "(uint)(uVar29 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar29 >> 0x20)" (( "(") (binary_expression "uVar29 >> 0x20" (identifier "uVar29") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar9 = (uint)uVar29;" (assignment_expression "uVar9 = (uint)uVar29" (identifier "uVar9") (= "=") (cast_expression "(uint)uVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar29"))) (; ";")) (expression_statement "uVar14 = *(uint *)(pOVar17 + 0x180);" (assignment_expression "uVar14 = *(uint *)(pOVar17 + 0x180)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x180)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x180)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x180)" (( "(") (binary_expression "pOVar17 + 0x180" (identifier "pOVar17") (+ "+") (number_literal "0x180")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(uint *)(pOVar17 + 0x184);" (assignment_expression "uVar15 = *(uint *)(pOVar17 + 0x184)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x184)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x184)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x184)" (( "(") (binary_expression "pOVar17 + 0x184" (identifier "pOVar17") (+ "+") (number_literal "0x184")) () ")"))))) (; ";")) (if_statement "if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;" (if "if") (parenthesized_expression "((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15))))" (( "(") (binary_expression "(uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))" (parenthesized_expression "(uVar5 <= uVar14)" (( "(") (binary_expression "uVar5 <= uVar14" (identifier "uVar5") (<= "<=") (identifier "uVar14")) () ")")) (&& "&&") (parenthesized_expression "((uVar5 != uVar14 || (uVar9 <= uVar15)))" (( "(") (parenthesized_expression "(uVar5 != uVar14 || (uVar9 <= uVar15))" (( "(") (binary_expression "uVar5 != uVar14 || (uVar9 <= uVar15)" (binary_expression "uVar5 != uVar14" (identifier "uVar5") (!= "!=") (identifier "uVar14")) (|| "||") (parenthesized_expression "(uVar9 <= uVar15)" (( "(") (binary_expression "uVar9 <= uVar15" (identifier "uVar9") (<= "<=") (identifier "uVar15")) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);" (assignment_expression "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" (* "*") (cast_expression "(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar20 + 0x24) + 4)" (( "(") (binary_expression "*(int *)(puVar20 + 0x24) + 4" (pointer_expression "*(int *)(puVar20 + 0x24)" (* "*") (cast_expression "(int *)(puVar20 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x24)" (( "(") (binary_expression "puVar20 + 0x24" (identifier "puVar20") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xc]" (identifier "piVar18") ([ "[") (number_literal "0xc") (] "]")) (= "=") (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)(uVar29 & 0xff000000ff) << 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 "((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff)" (( "(") (binary_expression "(int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(int)(uVar29 & 0xff000000ff) << 8" (cast_expression "(int)(uVar29 & 0xff000000ff)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar29 & 0xff000000ff)" (( "(") (binary_expression "uVar29 & 0xff000000ff" (identifier "uVar29") (& "&") (number_literal "0xff000000ff")) () ")"))) (<< "<<") (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 "piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000;" (assignment_expression "piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000" (subscript_expression "piVar18[0xd]" (identifier "piVar18") ([ "[") (number_literal "0xd") (] "]")) (= "=") (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           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 "((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *\n                           0x10000" (parenthesized_expression "((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff)" (( "(") (binary_expression "(int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(int)((uVar29 & 0xff000000ff) >> 0x20) << 8" (cast_expression "(int)((uVar29 & 0xff000000ff) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uVar29 & 0xff000000ff) >> 0x20)" (( "(") (binary_expression "(uVar29 & 0xff000000ff) >> 0x20" (parenthesized_expression "(uVar29 & 0xff000000ff)" (( "(") (binary_expression "uVar29 & 0xff000000ff" (identifier "uVar29") (& "&") (number_literal "0xff000000ff")) () ")")) (>> ">>") (number_literal "0x20")) () ")"))) (<< "<<") (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 "piVar12 = piVar18 + 0xe;" (assignment_expression "piVar12 = piVar18 + 0xe" (identifier "piVar12") (= "=") (binary_expression "piVar18 + 0xe" (identifier "piVar18") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "puVar7 = puVar21 + 1;" (assignment_expression "puVar7 = puVar21 + 1" (identifier "puVar7") (= "=") (binary_expression "puVar21 + 1" (identifier "puVar21") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar10 == puVar21 + 1) goto LAB_002302e4;" (if "if") (parenthesized_expression "(puVar10 == puVar21 + 1)" (( "(") (binary_expression "puVar10 == puVar21 + 1" (identifier "puVar10") (== "==") (binary_expression "puVar21 + 1" (identifier "puVar21") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_002302e4;" (goto "goto") (statement_identifier "LAB_002302e4") (; ";"))) (} "}"))) (expression_statement "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);" (assignment_expression "puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" (* "*") (cast_expression "(undefined4 **)(*(int *)(puVar20 + 0x24) + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar20 + 0x24) + 4)" (( "(") (binary_expression "*(int *)(puVar20 + 0x24) + 4" (pointer_expression "*(int *)(puVar20 + 0x24)" (* "*") (cast_expression "(int *)(puVar20 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x24)" (( "(") (binary_expression "puVar20 + 0x24" (identifier "puVar20") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xc]" (identifier "piVar18") ([ "[") (number_literal "0xc") (] "]")) (= "=") (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" (( "(") (binary_expression "uVar15 >> 0x10" (identifier "uVar15") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" (( "(") (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" (( "(") (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" (( "(") (binary_expression "uVar15 & 0xff" (identifier "uVar15") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" (identifier "uVar15") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar18[0xd]" (identifier "piVar18") ([ "[") (number_literal "0xd") (] "]")) (= "=") (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" (( "(") (binary_expression "uVar14 >> 0x10" (identifier "uVar14") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" (( "(") (binary_expression "uVar14 >> 0x18" (identifier "uVar14") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" (( "(") (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" (( "(") (binary_expression "uVar14 & 0xff" (identifier "uVar14") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" (identifier "uVar14") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar12 = piVar18 + 0xe;" (assignment_expression "piVar12 = piVar18 + 0xe" (identifier "piVar12") (= "=") (binary_expression "piVar18 + 0xe" (identifier "piVar18") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "puVar7 = puVar21 + 1;" (assignment_expression "puVar7 = puVar21 + 1" (identifier "puVar7") (= "=") (binary_expression "puVar21 + 1" (identifier "puVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar10 != puVar21 + 1)" (( "(") (binary_expression "puVar10 != puVar21 + 1" (identifier "puVar10") (!= "!=") (binary_expression "puVar21 + 1" (identifier "puVar21") (+ "+") (number_literal "1"))) () ")")) (; ";")) (labeled_statement "LAB_002302e4:\n        puVar7 = puVar21 + 1;" (statement_identifier "LAB_002302e4") (: ":") (expression_statement "puVar7 = puVar21 + 1;" (assignment_expression "puVar7 = puVar21 + 1" (identifier "puVar7") (= "=") (binary_expression "puVar21 + 1" (identifier "puVar21") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));" (assignment_expression "puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23))" (identifier "puVar19") (= "=") (cast_expression "(undefined *)((int)piVar18 + (0x38 - (int)piVar23))" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + (0x38 - (int)piVar23))" (( "(") (binary_expression "(int)piVar18 + (0x38 - (int)piVar23)" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (parenthesized_expression "(0x38 - (int)piVar23)" (( "(") (binary_expression "0x38 - (int)piVar23" (number_literal "0x38") (- "-") (cast_expression "(int)piVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar23"))) () ")"))) () ")")))) (; ";")) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" (identifier "uVar2") (= "=") (number_literal "0x1ab")) (; ";")) (if_statement "if (-1 < (int)puVar19) {\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }" (if "if") (parenthesized_expression "(-1 < (int)puVar19)" (( "(") (binary_expression "-1 < (int)puVar19" (number_literal "-1") (< "<") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19"))) () ")")) (compound_statement "{\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (puVar19 != puVar11) goto LAB_00230354;\n          iVar3 = *(int *)(puVar22 + 0x29184c);\n          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;\n          return;\n        }" ({ "{") (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar22 + 0x29184c)" (* "*") (cast_expression "(int *)(puVar22 + 0x29184c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0x29184c)" (( "(") (binary_expression "puVar22 + 0x29184c" (identifier "puVar22") (+ "+") (number_literal "0x29184c")) () ")"))))) (; ";")) (if_statement "if (puVar19 != puVar11) goto LAB_00230354;" (if "if") (parenthesized_expression "(puVar19 != puVar11)" (( "(") (binary_expression "puVar19 != puVar11" (identifier "puVar19") (!= "!=") (identifier "puVar11")) () ")")) (goto_statement "goto LAB_00230354;" (goto "goto") (statement_identifier "LAB_00230354") (; ";"))) (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar22 + 0x29184c)" (* "*") (cast_expression "(int *)(puVar22 + 0x29184c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0x29184c)" (( "(") (binary_expression "puVar22 + 0x29184c" (identifier "puVar22") (+ "+") (number_literal "0x29184c")) () ")"))))) (; ";")) (if_statement "if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;" (if "if") (parenthesized_expression "(-1 < *(int *)(puVar20 + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(puVar20 + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(puVar20 + 0x20) << 2" (pointer_expression "*(int *)(puVar20 + 0x20)" (* "*") (cast_expression "(int *)(puVar20 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x20)" (( "(") (binary_expression "puVar20 + 0x20" (identifier "puVar20") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (goto_statement "goto LAB_00230368;" (goto "goto") (statement_identifier "LAB_00230368") (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (while_statement "while( true ) {\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        iVar3 = *(int *)(puVar22 + 0x29184c);\nLAB_00230354:\n        iVar3 = iVar3 + -0x2b58;\n        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);\nLAB_00230368:\n        iVar1 = 0xe3;\n        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);\n        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);\n        iVar3 = extraout_v1_00;\nLAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);\n        if (in_t0 == (undefined *)0x0) break;\nLAB_00230394:\n        FUN_00212d10();\nLAB_002303a0:\n        uVar2 = 0x19e;\n      }" ({ "{") (expression_statement "iVar3 = *(int *)(puVar22 + 0x29184c);" (assignment_expression "iVar3 = *(int *)(puVar22 + 0x29184c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar22 + 0x29184c)" (* "*") (cast_expression "(int *)(puVar22 + 0x29184c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0x29184c)" (( "(") (binary_expression "puVar22 + 0x29184c" (identifier "puVar22") (+ "+") (number_literal "0x29184c")) () ")"))))) (; ";")) (labeled_statement "LAB_00230354:\n        iVar3 = iVar3 + -0x2b58;" (statement_identifier "LAB_00230354") (: ":") (expression_statement "iVar3 = iVar3 + -0x2b58;" (assignment_expression "iVar3 = iVar3 + -0x2b58" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -0x2b58" (identifier "iVar3") (+ "+") (number_literal "-0x2b58"))) (; ";"))) (expression_statement "(**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);" (call_expression "(**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2)" (parenthesized_expression "(**(code **)(puVar22 + 0x291960))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x291960)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x291960)" (* "*") (cast_expression "(code **)(puVar22 + 0x291960)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x291960)" (( "(") (binary_expression "puVar22 + 0x291960" (identifier "puVar22") (+ "+") (number_literal "0x291960")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2)" (( "(") (binary_expression "*(int *)(puVar22 + 0x29184c) + -0x48b4" (pointer_expression "*(int *)(puVar22 + 0x29184c)" (* "*") (cast_expression "(int *)(puVar22 + 0x29184c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0x29184c)" (( "(") (binary_expression "puVar22 + 0x29184c" (identifier "puVar22") (+ "+") (number_literal "0x29184c")) () ")")))) (+ "+") (number_literal "-0x48b4")) (, ",") (identifier "uVar2") () ")"))) (; ";")) (labeled_statement "LAB_00230368:\n        iVar1 = 0xe3;" (statement_identifier "LAB_00230368") (: ":") (expression_statement "iVar1 = 0xe3;" (assignment_expression "iVar1 = 0xe3" (identifier "iVar1") (= "=") (number_literal "0xe3")) (; ";"))) (expression_statement "puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);" (assignment_expression "puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574)" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar22 + 0x2911ac) + 0x3574)" (( "(") (binary_expression "*(int *)(puVar22 + 0x2911ac) + 0x3574" (pointer_expression "*(int *)(puVar22 + 0x2911ac)" (* "*") (cast_expression "(int *)(puVar22 + 0x2911ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0x2911ac)" (( "(") (binary_expression "puVar22 + 0x2911ac" (identifier "puVar22") (+ "+") (number_literal "0x2911ac")) () ")")))) (+ "+") (number_literal "0x3574")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);" (call_expression "(**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78)" (parenthesized_expression "(**(code **)(puVar22 + 0x291960))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x291960)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x291960)" (* "*") (cast_expression "(code **)(puVar22 + 0x291960)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x291960)" (( "(") (binary_expression "puVar22 + 0x291960" (identifier "puVar22") (+ "+") (number_literal "0x291960")) () ")"))))) () ")")) (argument_list "(puVar21,0xe3,iVar3 + -0x2a78)" (( "(") (identifier "puVar21") (, ",") (number_literal "0xe3") (, ",") (binary_expression "iVar3 + -0x2a78" (identifier "iVar3") (+ "+") (number_literal "-0x2a78")) () ")"))) (; ";")) (expression_statement "iVar3 = extraout_v1_00;" (assignment_expression "iVar3 = extraout_v1_00" (identifier "iVar3") (= "=") (identifier "extraout_v1_00")) (; ";")) (labeled_statement "LAB_00230380:\n        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);" (statement_identifier "LAB_00230380") (: ":") (expression_statement "in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);" (assignment_expression "in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0)" (identifier "in_t0") (= "=") (cast_expression "(undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(*(undefined **)(iVar1 + 0xc) < in_t0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(undefined **)(iVar1 + 0xc) < in_t0)" (( "(") (binary_expression "*(undefined **)(iVar1 + 0xc) < in_t0" (pointer_expression "*(undefined **)(iVar1 + 0xc)" (* "*") (cast_expression "(undefined **)(iVar1 + 0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0xc)" (( "(") (binary_expression "iVar1 + 0xc" (identifier "iVar1") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "in_t0")) () ")"))))) (; ";"))) (if_statement "if (in_t0 == (undefined *)0x0) break;" (if "if") (parenthesized_expression "(in_t0 == (undefined *)0x0)" (( "(") (binary_expression "in_t0 == (undefined *)0x0" (identifier "in_t0") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_00230394:\n        FUN_00212d10();" (statement_identifier "LAB_00230394") (: ":") (expression_statement "FUN_00212d10();" (call_expression "FUN_00212d10()" (identifier "FUN_00212d10") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002303a0:\n        uVar2 = 0x19e;" (statement_identifier "LAB_002303a0") (: ":") (expression_statement "uVar2 = 0x19e;" (assignment_expression "uVar2 = 0x19e" (identifier "uVar2") (= "=") (number_literal "0x19e")) (; ";"))) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2);" (assignment_expression "puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)((int)puVar7 - (int)puVar21 >> 2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar7 - (int)puVar21 >> 2)" (( "(") (binary_expression "(int)puVar7 - (int)puVar21 >> 2" (binary_expression "(int)puVar7 - (int)puVar21" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (- "-") (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21"))) (>> ">>") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (*(int *)(this + 0x10) != 0) goto LAB_002300ac;" (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")) () ")")) (goto_statement "goto LAB_002300ac;" (goto "goto") (statement_identifier "LAB_002300ac") (; ";"))) (expression_statement "puVar22 = (undefined *)((int)puVar22 * 0x20);" (assignment_expression "puVar22 = (undefined *)((int)puVar22 * 0x20)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)((int)puVar22 * 0x20)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 * 0x20)" (( "(") (binary_expression "(int)puVar22 * 0x20" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (* "*") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (*(undefined **)(this + 0x14) != puVar22) goto LAB_002300ac;" (if "if") (parenthesized_expression "(*(undefined **)(this + 0x14) != puVar22)" (( "(") (binary_expression "*(undefined **)(this + 0x14) != puVar22" (pointer_expression "*(undefined **)(this + 0x14)" (* "*") (cast_expression "(undefined **)(this + 0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (identifier "puVar22")) () ")")) (goto_statement "goto LAB_002300ac;" (goto "goto") (statement_identifier "LAB_002300ac") (; ";"))) (expression_statement "puVar20 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "puVar20 = PTR_s_in_a_linker_script_004c191c" (identifier "puVar20") (= "=") (identifier "PTR_s_in_a_linker_script_004c191c")) (; ";")) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;" (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"))) () ")")) (goto_statement "goto LAB_00230074;" (goto "goto") (statement_identifier "LAB_00230074") (; ";"))) (expression_statement "puVar11 = *(undefined **)(this + 0x1c);" (assignment_expression "puVar11 = *(undefined **)(this + 0x1c)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined **)(this + 0x1c)" (* "*") (cast_expression "(undefined **)(this + 0x1c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x1c)" (( "(") (binary_expression "this + 0x1c" (identifier "this") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (*(int *)(this + 0x18) < 0) goto LAB_002300a0;" (if "if") (parenthesized_expression "(*(int *)(this + 0x18) < 0)" (( "(") (binary_expression "*(int *)(this + 0x18) < 0" (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")) () ")")))) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_002300a0;" (goto "goto") (statement_identifier "LAB_002300a0") (; ";"))) (expression_statement "in_t0 = puVar22 + (int)puVar11;" (assignment_expression "in_t0 = puVar22 + (int)puVar11" (identifier "in_t0") (= "=") (binary_expression "puVar22 + (int)puVar11" (identifier "puVar22") (+ "+") (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")))) (; ";")) (expression_statement "iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18);" (assignment_expression "iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18)" (identifier "iVar1") (= "=") (binary_expression "(uint)(in_t0 < puVar22) + *(int *)(this + 0x18)" (call_expression "(uint)(in_t0 < puVar22)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_t0 < puVar22)" (( "(") (binary_expression "in_t0 < puVar22" (identifier "in_t0") (< "<") (identifier "puVar22")) () ")"))) (+ "+") (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 (*(int *)(param_1 + 8) < iVar1) goto LAB_002300a0;" (if "if") (parenthesized_expression "(*(int *)(param_1 + 8) < iVar1)" (( "(") (binary_expression "*(int *)(param_1 + 8) < iVar1" (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 "iVar1")) () ")")) (goto_statement "goto LAB_002300a0;" (goto "goto") (statement_identifier "LAB_002300a0") (; ";"))) (if_statement "if (*(int *)(param_1 + 8) == iVar1) goto LAB_0023008c;" (if "if") (parenthesized_expression "(*(int *)(param_1 + 8) == iVar1)" (( "(") (binary_expression "*(int *)(param_1 + 8) == iVar1" (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 "iVar1")) () ")")) (goto_statement "goto LAB_0023008c;" (goto "goto") (statement_identifier "LAB_0023008c") (; ";"))) (do_statement "do {\n    iVar1 = *(int *)(param_1 + 0x10);\n    puVar10 = (undefined4 *)(puVar11 + iVar1);\n    if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar2 = 0x1ab;\n    while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    iVar1 = *(int *)(param_1 + 0x10);\n    puVar10 = (undefined4 *)(puVar11 + iVar1);\n    if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }\n    uVar2 = 0x1ab;\n    while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }\n  }" ({ "{") (expression_statement "iVar1 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x10)" (identifier "iVar1") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "puVar10 = (undefined4 *)(puVar11 + iVar1);" (assignment_expression "puVar10 = (undefined4 *)(puVar11 + iVar1)" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)(puVar11 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + iVar1)" (( "(") (binary_expression "puVar11 + iVar1" (identifier "puVar11") (+ "+") (identifier "iVar1")) () ")")))) (; ";")) (if_statement "if (puVar21 == puVar7) {\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }\n    else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(puVar21 == puVar7)" (( "(") (binary_expression "puVar21 == puVar7" (identifier "puVar21") (== "==") (identifier "puVar7")) () ")")) (compound_statement "{\n      if (puVar22 == (undefined *)0x0) {\n        return;\n      }\n    }" ({ "{") (if_statement "if (puVar22 == (undefined *)0x0) {\n        return;\n      }" (if "if") (parenthesized_expression "(puVar22 == (undefined *)0x0)" (( "(") (binary_expression "puVar22 == (undefined *)0x0" (identifier "puVar22") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }" (else "else") (compound_statement "{\n      do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);\nLAB_0022fff4:\n      puVar21 = puVar24 + 1;\n      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));\n      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }\n    }" ({ "{") (do_statement "do {\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);" (do "do") (compound_statement "{\n        while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }\n        iVar3 = *(int *)(this + 0x24);\n        puVar7[7] = *(uint *)(pOVar17 + 0x184);\n        puVar10 = puVar7 + 8;\n        puVar21 = puVar24 + 1;\n      }" ({ "{") (while_statement "while( true ) {\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          puVar24 = puVar21;\n          puVar7 = puVar10;\n          pOVar17 = (Output_segment *)*puVar24;\n          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);\n          uVar2 = *(undefined4 *)(pOVar17 + 0x174);\n          in_t0 = *(undefined **)(pOVar17 + 0x198);\n          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);\n          uVar8 = *(undefined4 *)(pOVar17 + 0x194);\n          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);\n          puVar7[3] = uVar13;\n          *puVar7 = in_t0;\n          puVar7[1] = uVar16;\n          puVar7[4] = uVar8;\n          puVar7[5] = uVar2;\n          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);\n          uVar28 = Output_segment::maximum_alignment(pOVar17);\n          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);\n          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;\n          iVar3 = *(int *)(this + 0x24);\n          puVar7[7] = (uint)uVar28;\n          puVar10 = puVar7 + 8;\n          puVar21 = puVar24 + 1;\n          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;\n        }" ({ "{") (expression_statement "puVar24 = puVar21;" (assignment_expression "puVar24 = puVar21" (identifier "puVar24") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "puVar7 = puVar10;" (assignment_expression "puVar7 = puVar10" (identifier "puVar7") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "pOVar17 = (Output_segment *)*puVar24;" (assignment_expression "pOVar17 = (Output_segment *)*puVar24" (identifier "pOVar17") (= "=") (cast_expression "(Output_segment *)*puVar24" (( "(") (type_descriptor "Output_segment *" (type_identifier "Output_segment") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar24" (* "*") (identifier "puVar24")))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(pOVar17 + 0x16c);" (assignment_expression "uVar13 = *(undefined4 *)(pOVar17 + 0x16c)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x16c)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x16c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x16c)" (( "(") (binary_expression "pOVar17 + 0x16c" (identifier "pOVar17") (+ "+") (number_literal "0x16c")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(pOVar17 + 0x174);" (assignment_expression "uVar2 = *(undefined4 *)(pOVar17 + 0x174)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x174)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x174)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x174)" (( "(") (binary_expression "pOVar17 + 0x174" (identifier "pOVar17") (+ "+") (number_literal "0x174")) () ")"))))) (; ";")) (expression_statement "in_t0 = *(undefined **)(pOVar17 + 0x198);" (assignment_expression "in_t0 = *(undefined **)(pOVar17 + 0x198)" (identifier "in_t0") (= "=") (pointer_expression "*(undefined **)(pOVar17 + 0x198)" (* "*") (cast_expression "(undefined **)(pOVar17 + 0x198)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pOVar17 + 0x198)" (( "(") (binary_expression "pOVar17 + 0x198" (identifier "pOVar17") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (expression_statement "uVar16 = *(undefined4 *)(pOVar17 + 0x18c);" (assignment_expression "uVar16 = *(undefined4 *)(pOVar17 + 0x18c)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x18c)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x18c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x18c)" (( "(") (binary_expression "pOVar17 + 0x18c" (identifier "pOVar17") (+ "+") (number_literal "0x18c")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(pOVar17 + 0x194);" (assignment_expression "uVar8 = *(undefined4 *)(pOVar17 + 0x194)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x194)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x194)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x194)" (( "(") (binary_expression "pOVar17 + 0x194" (identifier "pOVar17") (+ "+") (number_literal "0x194")) () ")"))))) (; ";")) (expression_statement "puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);" (assignment_expression "puVar7[2] = *(undefined4 *)(pOVar17 + 0x164)" (subscript_expression "puVar7[2]" (identifier "puVar7") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x164)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x164)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x164)" (( "(") (binary_expression "pOVar17 + 0x164" (identifier "pOVar17") (+ "+") (number_literal "0x164")) () ")"))))) (; ";")) (expression_statement "puVar7[3] = uVar13;" (assignment_expression "puVar7[3] = uVar13" (subscript_expression "puVar7[3]" (identifier "puVar7") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "*puVar7 = in_t0;" (assignment_expression "*puVar7 = in_t0" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (identifier "in_t0")) (; ";")) (expression_statement "puVar7[1] = uVar16;" (assignment_expression "puVar7[1] = uVar16" (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "puVar7[4] = uVar8;" (assignment_expression "puVar7[4] = uVar8" (subscript_expression "puVar7[4]" (identifier "puVar7") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar7[5] = uVar2;" (assignment_expression "puVar7[5] = uVar2" (subscript_expression "puVar7[5]" (identifier "puVar7") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);" (assignment_expression "puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c)" (subscript_expression "puVar7[6]" (identifier "puVar7") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(pOVar17 + 0x19c)" (* "*") (cast_expression "(undefined4 *)(pOVar17 + 0x19c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x19c)" (( "(") (binary_expression "pOVar17 + 0x19c" (identifier "pOVar17") (+ "+") (number_literal "0x19c")) () ")"))))) (; ";")) (ERROR "uVar28 = Output_segment::" (assignment_expression "uVar28 = Output_segment" (identifier "uVar28") (= "=") (identifier "Output_segment")) (: ":") (: ":")) (expression_statement "maximum_alignment(pOVar17);" (call_expression "maximum_alignment(pOVar17)" (identifier "maximum_alignment") (argument_list "(pOVar17)" (( "(") (identifier "pOVar17") () ")"))) (; ";")) (expression_statement "uVar5 = (uint)((ulonglong)uVar28 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar28 >> 0x20)" (identifier "uVar5") (= "=") (call_expression "(uint)((ulonglong)uVar28 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar28")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             ) break;" (if "if") (parenthesized_expression "((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))\n             )" (( "(") (binary_expression "(uVar5 <= *(uint *)(pOVar17 + 0x180)) &&\n             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))" (parenthesized_expression "(uVar5 <= *(uint *)(pOVar17 + 0x180))" (( "(") (binary_expression "uVar5 <= *(uint *)(pOVar17 + 0x180)" (identifier "uVar5") (<= "<=") (pointer_expression "*(uint *)(pOVar17 + 0x180)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x180)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x180)" (( "(") (binary_expression "pOVar17 + 0x180" (identifier "pOVar17") (+ "+") (number_literal "0x180")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))" (( "(") (parenthesized_expression "(uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184)))" (( "(") (binary_expression "uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))" (binary_expression "uVar5 != *(uint *)(pOVar17 + 0x180)" (identifier "uVar5") (!= "!=") (pointer_expression "*(uint *)(pOVar17 + 0x180)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x180)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x180)" (( "(") (binary_expression "pOVar17 + 0x180" (identifier "pOVar17") (+ "+") (number_literal "0x180")) () ")"))))) (|| "||") (parenthesized_expression "((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))" (( "(") (binary_expression "(uint)uVar28 <= *(uint *)(pOVar17 + 0x184)" (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28")) (<= "<=") (pointer_expression "*(uint *)(pOVar17 + 0x184)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x184)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x184)" (( "(") (binary_expression "pOVar17 + 0x184" (identifier "pOVar17") (+ "+") (number_literal "0x184")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = *(int *)(this + 0x24);" (assignment_expression "iVar3 = *(int *)(this + 0x24)" (identifier "iVar3") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "puVar7[7] = (uint)uVar28;" (assignment_expression "puVar7[7] = (uint)uVar28" (subscript_expression "puVar7[7]" (identifier "puVar7") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28"))) (; ";")) (expression_statement "puVar10 = puVar7 + 8;" (assignment_expression "puVar10 = puVar7 + 8" (identifier "puVar10") (= "=") (binary_expression "puVar7 + 8" (identifier "puVar7") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar21 = puVar24 + 1;" (assignment_expression "puVar21 = puVar24 + 1" (identifier "puVar21") (= "=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;" (if "if") (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) == puVar24 + 1)" (( "(") (binary_expression "*(undefined4 **)(iVar3 + 4) == puVar24 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (== "==") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_0022fff4;" (goto "goto") (statement_identifier "LAB_0022fff4") (; ";"))) (} "}"))) (expression_statement "iVar3 = *(int *)(this + 0x24);" (assignment_expression "iVar3 = *(int *)(this + 0x24)" (identifier "iVar3") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "puVar7[7] = *(uint *)(pOVar17 + 0x184);" (assignment_expression "puVar7[7] = *(uint *)(pOVar17 + 0x184)" (subscript_expression "puVar7[7]" (identifier "puVar7") ([ "[") (number_literal "7") (] "]")) (= "=") (pointer_expression "*(uint *)(pOVar17 + 0x184)" (* "*") (cast_expression "(uint *)(pOVar17 + 0x184)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pOVar17 + 0x184)" (( "(") (binary_expression "pOVar17 + 0x184" (identifier "pOVar17") (+ "+") (number_literal "0x184")) () ")"))))) (; ";")) (expression_statement "puVar10 = puVar7 + 8;" (assignment_expression "puVar10 = puVar7 + 8" (identifier "puVar10") (= "=") (binary_expression "puVar7 + 8" (identifier "puVar7") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar21 = puVar24 + 1;" (assignment_expression "puVar21 = puVar24 + 1" (identifier "puVar21") (= "=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(undefined4 **)(iVar3 + 4) != puVar24 + 1)" (( "(") (binary_expression "*(undefined4 **)(iVar3 + 4) != puVar24 + 1" (pointer_expression "*(undefined4 **)(iVar3 + 4)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) () ")")) (; ";")) (labeled_statement "LAB_0022fff4:\n      puVar21 = puVar24 + 1;" (statement_identifier "LAB_0022fff4") (: ":") (expression_statement "puVar21 = puVar24 + 1;" (assignment_expression "puVar21 = puVar24 + 1" (identifier "puVar21") (= "=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));" (assignment_expression "puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)))" (identifier "puVar20") (= "=") (cast_expression "(undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)))" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)))" (( "(") (binary_expression "(int)puVar7 + (0x20 - (int)(puVar11 + iVar1))" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (+ "+") (parenthesized_expression "(0x20 - (int)(puVar11 + iVar1))" (( "(") (binary_expression "0x20 - (int)(puVar11 + iVar1)" (number_literal "0x20") (- "-") (cast_expression "(int)(puVar11 + iVar1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar11 + iVar1)" (( "(") (binary_expression "puVar11 + iVar1" (identifier "puVar11") (+ "+") (identifier "iVar1")) () ")")))) () ")"))) () ")")))) (; ";")) (if_statement "if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }" (if "if") (parenthesized_expression "((-1 < (int)puVar20) && (puVar20 == puVar22))" (( "(") (binary_expression "(-1 < (int)puVar20) && (puVar20 == puVar22)" (parenthesized_expression "(-1 < (int)puVar20)" (( "(") (binary_expression "-1 < (int)puVar20" (number_literal "-1") (< "<") (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20"))) () ")")) (&& "&&") (parenthesized_expression "(puVar20 == puVar22)" (( "(") (binary_expression "puVar20 == puVar22" (identifier "puVar20") (== "==") (identifier "puVar22")) () ")"))) () ")")) (compound_statement "{\n        puVar20 = PTR_s_in_a_linker_script_004c191c;\n        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;\n        return;\n      }" ({ "{") (expression_statement "puVar20 = PTR_s_in_a_linker_script_004c191c;" (assignment_expression "puVar20 = PTR_s_in_a_linker_script_004c191c" (identifier "puVar20") (= "=") (identifier "PTR_s_in_a_linker_script_004c191c")) (; ";")) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;" (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"))) () ")")) (goto_statement "goto LAB_00230074;" (goto "goto") (statement_identifier "LAB_00230074") (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar2 = 0x1ab;" (assignment_expression "uVar2 = 0x1ab" (identifier "uVar2") (= "=") (number_literal "0x1ab")) (; ";")) (while_statement "while( true ) {\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;\nLAB_00230074:\n      param_1 = (Output_file *)0xe3;\n      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);\n      puVar7 = extraout_v1;\nLAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);\n      if (in_t0 == (undefined *)0x0) break;\nLAB_002300a0:\n      FUN_00212d10();\nLAB_002300ac:\n      uVar2 = 0x19e;\n    }" ({ "{") (expression_statement "puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;" (assignment_expression "puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48" (identifier "puVar20") (= "=") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x2b48" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x2b48"))) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)\n      ;" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)" (( "(") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x48b4" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x48b4")) (, ",") (identifier "uVar2") () ")"))) (; ";")) (labeled_statement "LAB_00230074:\n      param_1 = (Output_file *)0xe3;" (statement_identifier "LAB_00230074") (: ":") (expression_statement "param_1 = (Output_file *)0xe3;" (assignment_expression "param_1 = (Output_file *)0xe3" (identifier "param_1") (= "=") (cast_expression "(Output_file *)0xe3" (( "(") (type_descriptor "Output_file *" (type_identifier "Output_file") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xe3"))) (; ";"))) (expression_statement "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "puVar11") (= "=") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574"))) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(puVar11,0xe3,puVar20 + -0x2a78)" (( "(") (identifier "puVar11") (, ",") (number_literal "0xe3") (, ",") (binary_expression "puVar20 + -0x2a78" (identifier "puVar20") (+ "+") (number_literal "-0x2a78")) () ")"))) (; ";")) (expression_statement "puVar7 = extraout_v1;" (assignment_expression "puVar7 = extraout_v1" (identifier "puVar7") (= "=") (identifier "extraout_v1")) (; ";")) (labeled_statement "LAB_0023008c:\n      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);" (statement_identifier "LAB_0023008c") (: ":") (expression_statement "in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);" (assignment_expression "in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0)" (identifier "in_t0") (= "=") (cast_expression "(undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(*(undefined **)(param_1 + 0xc) < in_t0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(undefined **)(param_1 + 0xc) < in_t0)" (( "(") (binary_expression "*(undefined **)(param_1 + 0xc) < in_t0" (pointer_expression "*(undefined **)(param_1 + 0xc)" (* "*") (cast_expression "(undefined **)(param_1 + 0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "in_t0")) () ")"))))) (; ";"))) (if_statement "if (in_t0 == (undefined *)0x0) break;" (if "if") (parenthesized_expression "(in_t0 == (undefined *)0x0)" (( "(") (binary_expression "in_t0 == (undefined *)0x0" (identifier "in_t0") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_002300a0:\n      FUN_00212d10();" (statement_identifier "LAB_002300a0") (: ":") (expression_statement "FUN_00212d10();" (call_expression "FUN_00212d10()" (identifier "FUN_00212d10") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002300ac:\n      uVar2 = 0x19e;" (statement_identifier "LAB_002300ac") (: ":") (expression_statement "uVar2 = 0x19e;" (assignment_expression "uVar2 = 0x19e" (identifier "uVar2") (= "=") (number_literal "0x19e")) (; ";"))) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (ERROR "}" (} "}"))
(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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (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: (type_identifier) declarator: (pointer_declarator 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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (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 (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (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: (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 (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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: (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 (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (return_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (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: (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))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (identifier)))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) 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: (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: (subscript_expression argument: (identifier) index: (number_literal)) 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: (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: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (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: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) 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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) (labeled_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (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: (goto_statement label: (statement_identifier))) (return_statement)))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) condition: (parenthesized_expression (true))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (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: (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))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier)))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) 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: (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: (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: (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: (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: (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: (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: (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: (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: (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: (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))))))) (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: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (break_statement)) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (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)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (labeled_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (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: (goto_statement label: (statement_identifier))) (return_statement)))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) condition: (parenthesized_expression (true))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))))) (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (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: (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))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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 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: (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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (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)))))) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) (labeled_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (identifier) right: (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 (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (goto_statement label: (statement_identifier))) (return_statement)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (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)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) condition: (parenthesized_expression (true))) (ERROR))

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

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

{
  int iVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  undefined4 *puVar7;
  undefined4 uVar8;
  undefined4 *extraout_v1;
  uint uVar9;
  undefined4 *puVar10;
  int extraout_v1_00;
  int extraout_v1_01;
  undefined *puVar11;
  int *piVar12;
  undefined4 uVar13;
  uint uVar14;
  uint uVar15;
  undefined4 uVar16;
  undefined *in_t0;
  Output_segment *pOVar17;
  int *piVar18;
  undefined *puVar19;
  undefined *puVar20;
  undefined4 *puVar21;
  undefined *puVar22;
  int *piVar23;
  undefined4 *puVar24;
  undefined4 *puVar25;
  code *pcVar26;
  code *pcVar27;
  undefined8 uVar28;
  ulonglong uVar29;
  
  puVar21 = (undefined4 *)**(undefined4 **)(this + 0x24);
  puVar7 = (undefined4 *)(*(undefined4 **)(this + 0x24))[1];
  if (-1 < *(int *)(this + 0x20) << 1) {
    iVar1 = 0xcf;
    puVar20 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
    puVar22 = PTR_do_gold_unreachable_004c1a30;
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (puVar20,0xcf,PTR_s_in_a_linker_script_004c191c + -0x29fc);
    puVar7 = (undefined4 *)**(undefined4 **)(puVar20 + 0x24);
    puVar21 = (undefined4 *)(*(undefined4 **)(puVar20 + 0x24))[1];
    if (-1 < *(int *)(puVar20 + 0x20) << 1) {
      iVar3 = 0xcf;
      pcVar26 = *(code **)(puVar22 + 0x291960);
      iVar1 = *(int *)(puVar22 + 0x2911ac) + 0x3574;
      (*pcVar26)(iVar1,0xcf,*(int *)(puVar22 + 0x29184c) + -0x29fc);
      puVar7 = (undefined4 *)**(undefined4 **)(iVar1 + 0x24);
      puVar21 = (undefined4 *)(*(undefined4 **)(iVar1 + 0x24))[1];
      if (-1 < *(int *)(iVar1 + 0x20) << 1) {
        pcVar27 = *(code **)(pcVar26 + 0x29166c);
        puVar7 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);
        (*pcVar27)(puVar7,0xcf,*(int *)(pcVar26 + 0x291558) + -0x29fc);
        piVar12 = (int *)puVar7[2];
        while (piVar12 != (int *)0x0) {
          piVar12 = (int *)*piVar12;
          (**(code **)(pcVar27 + 0x290cbc))();
        }
        (**(code **)(pcVar27 + 0x295628))(*puVar7,0,puVar7[1] << 2);
        puVar7[3] = 0;
        puVar7[2] = 0;
        if ((undefined4 *)*puVar7 == puVar7 + 6) {
          return;
        }
                    /* WARNING: Could not recover jumptable at 0x002306c8. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (**(code **)(pcVar27 + 0x290cbc))();
        return;
      }
      puVar22 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);
      if (*(int *)(iVar1 + 0x10) != 0) goto LAB_0023061c;
      if (*(undefined **)(iVar1 + 0x14) != puVar22) goto LAB_0023061c;
      iVar4 = *(int *)(pcVar26 + 0x291558);
      if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;
      iVar4 = *(int *)(iVar1 + 0x1c);
      if (*(int *)(iVar1 + 0x18) < 0) goto LAB_00230610;
      in_t0 = puVar22 + iVar4;
      iVar6 = (uint)(in_t0 < puVar22) + *(int *)(iVar1 + 0x18);
      if (*(int *)(iVar3 + 8) < iVar6) goto LAB_00230610;
      if (*(int *)(iVar3 + 8) == iVar6) goto LAB_002305fc;
      do {
        puVar24 = (undefined4 *)(*(int *)(iVar3 + 0x10) + iVar4);
        puVar10 = puVar24;
        if (puVar7 == puVar21) {
          if (puVar22 == (undefined *)0x0) {
            return;
          }
          uVar2 = 0x1ab;
        }
        else {
          do {
            while( true ) {
              puVar25 = puVar7;
              puVar21 = puVar10;
              pOVar17 = (Output_segment *)*puVar25;
              uVar2 = *(undefined4 *)(pOVar17 + 0x188);
              uVar13 = *(undefined4 *)(pOVar17 + 0x198);
              puVar21[3] = *(undefined4 *)(pOVar17 + 0x18c);
              puVar21[2] = uVar2;
              uVar8 = *(undefined4 *)(pOVar17 + 0x164);
              uVar2 = *(undefined4 *)(pOVar17 + 0x160);
              *puVar21 = uVar13;
              uVar13 = *(undefined4 *)(pOVar17 + 0x19c);
              puVar21[5] = uVar8;
              puVar21[4] = uVar2;
              uVar2 = *(undefined4 *)(pOVar17 + 0x168);
              puVar21[7] = *(undefined4 *)(pOVar17 + 0x16c);
              puVar21[6] = uVar2;
              uVar2 = *(undefined4 *)(pOVar17 + 400);
              puVar21[9] = *(undefined4 *)(pOVar17 + 0x194);
              puVar21[8] = uVar2;
              uVar8 = *(undefined4 *)(pOVar17 + 0x174);
              uVar2 = *(undefined4 *)(pOVar17 + 0x170);
              puVar21[1] = uVar13;
              puVar21[0xb] = uVar8;
              puVar21[10] = uVar2;
              uVar28 = Output_segment::maximum_alignment(pOVar17);
              uVar5 = (uint)((ulonglong)uVar28 >> 0x20);
              uVar9 = *(uint *)(pOVar17 + 0x180);
              uVar14 = *(uint *)(pOVar17 + 0x184);
              if ((uVar5 <= uVar9) && ((uVar5 != uVar9 || ((uint)uVar28 <= uVar14)))) break;
              iVar3 = *(int *)(iVar1 + 0x24);
              *(undefined8 *)(puVar21 + 0xc) = uVar28;
              puVar10 = puVar21 + 0xe;
              puVar7 = puVar25 + 1;
              if (*(undefined4 **)(iVar3 + 4) == puVar25 + 1) goto LAB_00230560;
            }
            iVar3 = *(int *)(iVar1 + 0x24);
            puVar21[0xc] = uVar9;
            puVar21[0xd] = uVar14;
            puVar10 = puVar21 + 0xe;
            puVar7 = puVar25 + 1;
          } while (*(undefined4 **)(iVar3 + 4) != puVar25 + 1);
LAB_00230560:
          puVar7 = puVar25 + 1;
          puVar20 = (undefined *)((int)puVar21 + (0x38 - (int)puVar24));
          uVar2 = 0x1ab;
          if (-1 < (int)puVar20) {
            iVar4 = *(int *)(pcVar26 + 0x291558);
            if (puVar20 != puVar22) goto LAB_002305d0;
            iVar4 = *(int *)(pcVar26 + 0x291558);
            if (-1 < *(int *)(iVar1 + 0x20) << 2) goto LAB_002305e4;
            return;
          }
        }
        while( true ) {
          iVar4 = *(int *)(pcVar26 + 0x291558);
LAB_002305d0:
          iVar4 = iVar4 + -0x2b68;
          (**(code **)(pcVar26 + 0x29166c))(*(int *)(pcVar26 + 0x291558) + -0x48b4,uVar2);
LAB_002305e4:
          iVar3 = 0xe3;
          puVar21 = (undefined4 *)(*(int *)(pcVar26 + 0x290eb8) + 0x3574);
          (**(code **)(pcVar26 + 0x29166c))(puVar21,0xe3,iVar4 + -0x2a78);
          iVar4 = extraout_v1_01;
LAB_002305fc:
          in_t0 = (undefined *)(uint)(*(undefined **)(iVar3 + 0xc) < in_t0);
          if (in_t0 == (undefined *)0x0) break;
LAB_00230610:
          FUN_00212d10();
LAB_0023061c:
          uVar2 = 0x19e;
        }
      } while( true );
    }
    puVar11 = (undefined *)(((int)puVar21 - (int)puVar7 >> 2) * 0x38);
    if (*(int *)(puVar20 + 0x10) != 0) goto LAB_002303a0;
    if (*(undefined **)(puVar20 + 0x14) != puVar11) goto LAB_002303a0;
    iVar3 = *(int *)(puVar22 + 0x29184c);
    if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;
    iVar3 = *(int *)(puVar20 + 0x1c);
    if (*(int *)(puVar20 + 0x18) < 0) goto LAB_00230394;
    in_t0 = puVar11 + iVar3;
    iVar4 = (uint)(in_t0 < puVar11) + *(int *)(puVar20 + 0x18);
    if (*(int *)(iVar1 + 8) < iVar4) goto LAB_00230394;
    if (*(int *)(iVar1 + 8) == iVar4) goto LAB_00230380;
    do {
      piVar23 = (int *)(*(int *)(iVar1 + 0x10) + iVar3);
      piVar12 = piVar23;
      if (puVar7 == puVar21) {
        if (puVar11 == (undefined *)0x0) {
          return;
        }
        uVar2 = 0x1ab;
      }
      else {
        do {
          while( true ) {
            puVar21 = puVar7;
            piVar18 = piVar12;
            pOVar17 = (Output_segment *)*puVar21;
            uVar9 = *(uint *)(pOVar17 + 0x188);
            uVar5 = *(uint *)(pOVar17 + 0x18c);
            uVar14 = *(uint *)(pOVar17 + 0x198);
            piVar18[3] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[2] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar9 = *(uint *)(pOVar17 + 0x160);
            uVar5 = *(uint *)(pOVar17 + 0x164);
            *piVar18 = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;
            uVar14 = *(uint *)(pOVar17 + 0x19c);
            piVar18[5] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[4] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar9 = *(uint *)(pOVar17 + 0x168);
            uVar5 = *(uint *)(pOVar17 + 0x16c);
            piVar18[7] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar9 = *(uint *)(pOVar17 + 400);
            uVar5 = *(uint *)(pOVar17 + 0x194);
            piVar18[9] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[8] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar9 = *(uint *)(pOVar17 + 0x170);
            uVar5 = *(uint *)(pOVar17 + 0x174);
            piVar18[1] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;
            piVar18[0xb] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[10] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                          ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
            uVar29 = Output_segment::maximum_alignment(pOVar17);
            uVar5 = (uint)(uVar29 >> 0x20);
            uVar9 = (uint)uVar29;
            uVar14 = *(uint *)(pOVar17 + 0x180);
            uVar15 = *(uint *)(pOVar17 + 0x184);
            if ((uVar5 <= uVar14) && ((uVar5 != uVar14 || (uVar9 <= uVar15)))) break;
            puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);
            piVar18[0xc] = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                           ((int)(uVar29 & 0xff000000ff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
            piVar18[0xd] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                           ((int)((uVar29 & 0xff000000ff) >> 0x20) << 8 | uVar5 >> 8 & 0xff) *
                           0x10000;
            piVar12 = piVar18 + 0xe;
            puVar7 = puVar21 + 1;
            if (puVar10 == puVar21 + 1) goto LAB_002302e4;
          }
          puVar10 = *(undefined4 **)(*(int *)(puVar20 + 0x24) + 4);
          piVar18[0xc] = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;
          piVar18[0xd] = (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;
          piVar12 = piVar18 + 0xe;
          puVar7 = puVar21 + 1;
        } while (puVar10 != puVar21 + 1);
LAB_002302e4:
        puVar7 = puVar21 + 1;
        puVar19 = (undefined *)((int)piVar18 + (0x38 - (int)piVar23));
        uVar2 = 0x1ab;
        if (-1 < (int)puVar19) {
          iVar3 = *(int *)(puVar22 + 0x29184c);
          if (puVar19 != puVar11) goto LAB_00230354;
          iVar3 = *(int *)(puVar22 + 0x29184c);
          if (-1 < *(int *)(puVar20 + 0x20) << 2) goto LAB_00230368;
          return;
        }
      }
      while( true ) {
        iVar3 = *(int *)(puVar22 + 0x29184c);
LAB_00230354:
        iVar3 = iVar3 + -0x2b58;
        (**(code **)(puVar22 + 0x291960))(*(int *)(puVar22 + 0x29184c) + -0x48b4,uVar2);
LAB_00230368:
        iVar1 = 0xe3;
        puVar21 = (undefined4 *)(*(int *)(puVar22 + 0x2911ac) + 0x3574);
        (**(code **)(puVar22 + 0x291960))(puVar21,0xe3,iVar3 + -0x2a78);
        iVar3 = extraout_v1_00;
LAB_00230380:
        in_t0 = (undefined *)(uint)(*(undefined **)(iVar1 + 0xc) < in_t0);
        if (in_t0 == (undefined *)0x0) break;
LAB_00230394:
        FUN_00212d10();
LAB_002303a0:
        uVar2 = 0x19e;
      }
    } while( true );
  }
  puVar22 = (undefined *)((int)puVar7 - (int)puVar21 >> 2);
  if (*(int *)(this + 0x10) != 0) goto LAB_002300ac;
  puVar22 = (undefined *)((int)puVar22 * 0x20);
  if (*(undefined **)(this + 0x14) != puVar22) goto LAB_002300ac;
  puVar20 = PTR_s_in_a_linker_script_004c191c;
  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;
  puVar11 = *(undefined **)(this + 0x1c);
  if (*(int *)(this + 0x18) < 0) goto LAB_002300a0;
  in_t0 = puVar22 + (int)puVar11;
  iVar1 = (uint)(in_t0 < puVar22) + *(int *)(this + 0x18);
  if (*(int *)(param_1 + 8) < iVar1) goto LAB_002300a0;
  if (*(int *)(param_1 + 8) == iVar1) goto LAB_0023008c;
  do {
    iVar1 = *(int *)(param_1 + 0x10);
    puVar10 = (undefined4 *)(puVar11 + iVar1);
    if (puVar21 == puVar7) {
      if (puVar22 == (undefined *)0x0) {
        return;
      }
    }
    else {
      do {
        while( true ) {
          puVar24 = puVar21;
          puVar7 = puVar10;
          pOVar17 = (Output_segment *)*puVar24;
          uVar13 = *(undefined4 *)(pOVar17 + 0x16c);
          uVar2 = *(undefined4 *)(pOVar17 + 0x174);
          in_t0 = *(undefined **)(pOVar17 + 0x198);
          uVar16 = *(undefined4 *)(pOVar17 + 0x18c);
          uVar8 = *(undefined4 *)(pOVar17 + 0x194);
          puVar7[2] = *(undefined4 *)(pOVar17 + 0x164);
          puVar7[3] = uVar13;
          *puVar7 = in_t0;
          puVar7[1] = uVar16;
          puVar7[4] = uVar8;
          puVar7[5] = uVar2;
          puVar7[6] = *(undefined4 *)(pOVar17 + 0x19c);
          uVar28 = Output_segment::maximum_alignment(pOVar17);
          uVar5 = (uint)((ulonglong)uVar28 >> 0x20);
          if ((uVar5 <= *(uint *)(pOVar17 + 0x180)) &&
             ((uVar5 != *(uint *)(pOVar17 + 0x180) || ((uint)uVar28 <= *(uint *)(pOVar17 + 0x184))))
             ) break;
          iVar3 = *(int *)(this + 0x24);
          puVar7[7] = (uint)uVar28;
          puVar10 = puVar7 + 8;
          puVar21 = puVar24 + 1;
          if (*(undefined4 **)(iVar3 + 4) == puVar24 + 1) goto LAB_0022fff4;
        }
        iVar3 = *(int *)(this + 0x24);
        puVar7[7] = *(uint *)(pOVar17 + 0x184);
        puVar10 = puVar7 + 8;
        puVar21 = puVar24 + 1;
      } while (*(undefined4 **)(iVar3 + 4) != puVar24 + 1);
LAB_0022fff4:
      puVar21 = puVar24 + 1;
      puVar20 = (undefined *)((int)puVar7 + (0x20 - (int)(puVar11 + iVar1)));
      if ((-1 < (int)puVar20) && (puVar20 == puVar22)) {
        puVar20 = PTR_s_in_a_linker_script_004c191c;
        if (-1 < *(int *)(this + 0x20) << 2) goto LAB_00230074;
        return;
      }
    }
    uVar2 = 0x1ab;
    while( true ) {
      puVar20 = PTR_s_in_a_linker_script_004c191c + -0x2b48;
      (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_in_a_linker_script_004c191c + -0x48b4,uVar2)
      ;
LAB_00230074:
      param_1 = (Output_file *)0xe3;
      puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
      (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,puVar20 + -0x2a78);
      puVar7 = extraout_v1;
LAB_0023008c:
      in_t0 = (undefined *)(uint)(*(undefined **)(param_1 + 0xc) < in_t0);
      if (in_t0 == (undefined *)0x0) break;
LAB_002300a0:
      FUN_00212d10();
LAB_002300ac:
      uVar2 = 0x19e;
    }
  } while( true );
}

