
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* 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_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* DWARF original name: do_sized_write<32, false>
   DWARF original prototype: void do_sized_write<32,_false>(Output_section_headers * this,
   Output_file * of) */

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

{
  int iVar1;
  Output_file *pOVar2;
  _func_int_varargs **pp_Var3;
  uint uVar4;
  int iVar5;
  undefined4 uVar6;
  Stringpool *pSVar7;
  Output_data *pOVar8;
  uchar *puVar9;
  Elf_Word EVar10;
  uint extraout_v1;
  Segment_list *pSVar11;
  pointer ppOVar12;
  Section_list *pSVar13;
  Shdr_data<32> *pSVar14;
  Shdr_data<32> *extraout_v1_00;
  Output_file *this_00;
  Output_section *pOVar15;
  Layout *this_01;
  Elf_WXword EVar16;
  Layout *pLVar17;
  int *piVar18;
  Elf_WXword EVar19;
  Output_file *in_a2;
  pointer ppOVar20;
  Elf_Word EVar21;
  Shdr_write<32,_false> *in_a3;
  uint uVar22;
  Shdr_data<32> *unaff_s0;
  Shdr_data<32> *pSVar23;
  uchar *puVar24;
  _func_int_varargs *p_Var25;
  Output_segment *pOVar26;
  pointer ppOVar27;
  pointer *pppOVar28;
  code *pcVar29;
  _func_int_varargs *p_Var30;
  int iVar31;
  int iVar32;
  undefined4 in_stack_ffffffb4;
  Shdr_write<32,_false> oshdr;
  int *local_34;
  pointer local_30;
  
  iVar31 = 0x43a1d0;
  iVar1 = *(int *)&(this->super_Output_data).field_0x20;
  iVar32 = 0x43a1d0;
  if (iVar1 << 1 < 0) {
    this_00 = *(Output_file **)&(this->super_Output_data).data_size_;
    uVar4 = (uint)(this->super_Output_data).data_size_;
    if (iVar1 << 2 < 0) {
      in_a3 = *(Shdr_write<32,_false> **)&(this->super_Output_data).offset_;
      iVar1 = (int)(this->super_Output_data).offset_;
      if (-1 < (int)in_a3) {
        uVar22 = uVar4 + iVar1;
        in_a2 = *(Output_file **)&of->file_size_;
        pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4));
        in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2);
        if (in_a3 == (Shdr_write<32,_false> *)0x0) {
          pSVar14 = unaff_s0;
          if (in_a2 == pOVar2) goto LAB_001a2000;
          do {
            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;
            pcVar29 = *(code **)(iVar31 + -0x7208);
            puVar24 = of->base_ + iVar1;
            puVar24[0] = '\0';
            puVar24[1] = '\0';
            puVar24[2] = '\0';
            puVar24[3] = '\0';
            puVar24[4] = '\0';
            puVar24[5] = '\0';
            puVar24[6] = '\0';
            puVar24[7] = '\0';
            puVar24[8] = '\0';
            puVar24[9] = '\0';
            puVar24[10] = '\0';
            puVar24[0xb] = '\0';
            puVar24[0xc] = '\0';
            puVar24[0xd] = '\0';
            puVar24[0xe] = '\0';
            puVar24[0xf] = '\0';
            puVar24[0x10] = '\0';
            puVar24[0x11] = '\0';
            puVar24[0x12] = '\0';
            puVar24[0x13] = '\0';
            iVar31 = iVar32;
            (*pcVar29)();
            iVar32 = iVar31;
            if (extraout_v1 < 0xff00) goto LAB_001a1d54;
            pOVar15 = this->shstrtab_section_;
            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);
            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;
            *(uint *)(puVar24 + 0x14) =
                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +
                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;
            p_Var30 = pp_Var3[0xb];
            if (p_Var30 != p_Var25) goto LAB_001a1d74;
LAB_001a1bc4:
            uVar4 = pOVar15->out_shndx_;
            if (uVar4 == 0xffffffff) {
              iVar5 = *(int *)(iVar31 + -0x7e1c);
              goto LAB_001a1fa0;
            }
joined_r0x001a1bd8:
            if (uVar4 < 0xff00) {
              pSVar11 = this->segment_list_;
              puVar24[0x18] = '\0';
              puVar24[0x19] = '\0';
              puVar24[0x1a] = '\0';
              puVar24[0x1b] = '\0';
              local_30 = (pSVar11->
                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>
                         )._M_impl._M_start;
              ppOVar20 = (pSVar11->
                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>
                         )._M_impl._M_finish;
              iVar5 = (int)ppOVar20 - (int)local_30;
            }
            else {
              pSVar11 = this->segment_list_;
              local_30 = (pSVar11->
                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>
                         )._M_impl._M_start;
              ppOVar20 = (pSVar11->
                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>
                         )._M_impl._M_finish;
              *(uint *)(puVar24 + 0x18) =
                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +
                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;
              iVar5 = (int)ppOVar20 - (int)local_30;
            }
            uVar4 = iVar5 >> 2;
            if (uVar4 < 0xffff) {
              iVar5 = 0;
            }
            else {
              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +
                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;
            }
            local_34 = *(int **)(iVar31 + -0x75f0);
            *(int *)(puVar24 + 0x1c) = iVar5;
            puVar24[0x20] = '\0';
            puVar24[0x21] = '\0';
            puVar24[0x22] = '\0';
            puVar24[0x23] = '\0';
            iVar5 = *local_34;
            puVar24[0x24] = '\0';
            puVar24[0x25] = '\0';
            puVar24[0x26] = '\0';
            puVar24[0x27] = '\0';
            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);
            if (*(int *)(iVar5 + 8) == 0) {
              iVar5 = *(int *)(iVar31 + -0x7e1c);
              goto LAB_001a1fe8;
            }
            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {
              pcVar29 = *(code **)(iVar31 + -0x5784);
              if (local_30 == ppOVar20) goto LAB_001a1fb8;
              puVar24 = (uchar *)0x1;
LAB_001a1c60:
              pOVar26 = *local_30;
              if (pOVar26->type_ != 1) goto LAB_001a1dd0;
              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;
              pppOVar28 = &pOVar26->output_lists_[0].
                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                           ._M_impl._M_finish;
              pSVar7 = this->secnamepool_;
              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12
                    ) {
LAB_001a1dc0:
                pppOVar28 = pppOVar28 + 3;
                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;
              }
              pOVar8 = *ppOVar12;
              pSVar14 = unaff_s0;
              iVar31 = iVar32;
              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,
                    iVar32 == 0) {
LAB_001a1ce4:
                ppOVar12 = ppOVar12 + 1;
                iVar32 = iVar31;
                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;
                pOVar8 = *ppOVar12;
                pSVar14 = unaff_s0;
              }
              pOVar8 = *ppOVar12;
              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {
                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);
                iVar5 = *(int *)(iVar31 + -0x7e1c);
                iVar32 = iVar31;
                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;
                iVar5 = *(int *)(iVar31 + -0x7e1c);
                if (puVar9 == puVar24) goto LAB_001a1cbc;
              }
              else {
                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);
                if (puVar9 == puVar24) {
LAB_001a1cbc:
                  puVar24 = puVar24 + 1;
                  unaff_s0 = pSVar14 + 1;
                  in_a3 = &oshdr;
                  oshdr.p_ = pSVar14;
                  (*pcVar29)(pOVar8,uVar6,pSVar7);
                  goto LAB_001a1ce4;
                }
                iVar5 = *(int *)(iVar31 + -0x7e1c);
              }
              iVar32 = iVar31;
              (**(code **)(iVar31 + -0x7e0c))
                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);
LAB_001a1d54:
              pOVar15 = this->shstrtab_section_;
              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);
              puVar24[0x14] = '\0';
              puVar24[0x15] = '\0';
              puVar24[0x16] = '\0';
              puVar24[0x17] = '\0';
              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];
              if (p_Var30 != p_Var25) goto LAB_001a1d74;
              goto LAB_001a1bc4;
            }
            pSVar13 = this->section_list_;
            ppOVar27 = (pSVar13->
                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                       )._M_impl._M_start;
            if ((pSVar13->
                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).
                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;
            puVar24 = (uchar *)0x1;
            pSVar14 = unaff_s0;
            do {
              pOVar15 = *ppOVar27;
              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {
                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];
                if (p_Var30 == p_Var25) {
                  puVar9 = (uchar *)pOVar15->out_shndx_;
                  iVar5 = *(int *)(iVar31 + -0x7e1c);
                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;
                }
                else {
                  iVar31 = iVar32;
                  puVar9 = (uchar *)(*p_Var30)();
                  iVar32 = iVar31;
                }
                if (puVar9 != puVar24) goto LAB_001a1fdc;
                puVar24 = puVar24 + 1;
                unaff_s0 = pSVar14 + 1;
                in_a3 = &oshdr;
                iVar31 = iVar32;
                oshdr.p_ = pSVar14;
                Output_section::write_header<32,_false>
                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,
                           this->secnamepool_,&oshdr);
                pSVar13 = this->section_list_;
                iVar32 = iVar31;
              }
              ppOVar27 = ppOVar27 + 1;
              pSVar14 = unaff_s0;
            } while ((pSVar13->
                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                     )._M_impl._M_finish != ppOVar27);
LAB_001a1de0:
            pSVar13 = this->unattached_section_list_;
            ppOVar27 = (pSVar13->
                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                       )._M_impl._M_start;
            if (ppOVar27 ==
                (pSVar13->
                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).
                _M_impl._M_finish) {
LAB_001a1eac:
              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {
                return;
              }
              goto LAB_001a2020;
            }
            pSVar14 = unaff_s0;
            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {
              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];
joined_r0x001a1e0c:
              if (p_Var30 == p_Var25) {
                puVar9 = (uchar *)pOVar15->out_shndx_;
                iVar5 = *(int *)(iVar31 + -0x7e1c);
                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;
              }
              else {
                iVar31 = iVar32;
                puVar9 = (uchar *)(*p_Var30)();
                iVar32 = iVar31;
              }
              if (puVar24 != puVar9) {
                uVar6 = 0x167;
                do {
                  (**(code **)(iVar31 + -0x7e0c))
                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,
                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);
LAB_001a1fdc:
                  uVar6 = 0x155;
                } while( true );
              }
              puVar24 = puVar24 + 1;
              pSVar23 = pSVar14 + 1;
              in_a3 = &oshdr;
              iVar31 = iVar32;
              oshdr.p_ = pSVar14;
              Output_section::write_header<32,_false>
                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,
                         this->secnamepool_,&oshdr);
              pSVar13 = this->unattached_section_list_;
              iVar32 = iVar31;
LAB_001a1e50:
              ppOVar27 = ppOVar27 + 1;
              pSVar14 = pSVar23;
              if ((pSVar13->
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)
                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;
            }
            iVar5 = *(int *)(iVar31 + -0x7e1c);
            unaff_s0 = pSVar14;
            if (*(int *)(*local_34 + 8) != 0) {
              pSVar23 = pSVar14;
              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {
                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];
                goto joined_r0x001a1e0c;
              }
              goto LAB_001a1e50;
            }
LAB_001a1fe8:
            of = (Output_file *)&DAT_0000005c;
            in_a2 = (Output_file *)(iVar5 + 0x78cc);
            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);
            (**(code **)(iVar31 + -0x7e0c))();
LAB_001a2000:
            uVar22 = (uint)((uint)of->file_size_ < uVar22);
            pSVar14 = unaff_s0;
            if (uVar22 != 0) break;
          } while( true );
        }
      }
      Output_file::get_output_view(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2);
    }
LAB_001a2020:
    (**(code **)(iVar31 + -0x7e0c))
              (*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0xe3,*(int *)(iVar31 + -0x7e1c) + 0x7818);
  }
  pLVar17 = (Layout *)&DAT_000000cf;
  pcVar29 = *(code **)(iVar31 + -0x7e0c);
  iVar32 = *(int *)(iVar31 + -0x7e1c) + 0x7894;
  iVar31 = *(int *)(iVar31 + -0x7e1c) + -0x4fe0;
  (*pcVar29)(iVar31,0xcf,iVar32);
  EVar10 = (**(code **)(pcVar29 + 0x290388))(iVar32,*(undefined4 *)(iVar31 + 0x24));
  pSVar14 = in_a3->p_;
  EVar21 = *(Elf_Word *)(iVar31 + 0x54);
  piVar18 = *(int **)(iVar31 + 0x48);
  uVar4 = *(uint *)(iVar31 + 0x5c);
  pSVar14->sh_name = EVar10;
  pSVar14->sh_type = EVar21;
  if ((piVar18 != (int *)0x0) && (*(int *)(iVar31 + 0x98) << 8 < 0)) goto LAB_001a2170;
LAB_001a20c8:
  iVar32 = *(int *)(iVar31 + 0x20);
  pSVar14->sh_flags = uVar4;
  if (iVar32 < 0) {
    pSVar14->sh_addr = *(Elf_Addr *)(iVar31 + 0xc);
    if (iVar32 << 2 < 0) {
      pSVar14->sh_offset = *(Elf_Off *)(iVar31 + 0x1c);
      if (iVar32 << 1 < 0) {
        this_01 = *(Layout **)(iVar31 + 0x40);
        pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14);
        if (this_01 == (Layout *)0x0) goto LAB_001a21d4;
        p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];
LAB_001a210c:
        uVar4 = (*p_Var25)();
        pSVar14 = in_a3->p_;
        piVar18 = *(int **)(iVar31 + 0x48);
LAB_001a2120:
        pSVar14->sh_link = uVar4;
        do {
          if (piVar18 != (int *)0x0) {
            if (*(int *)(iVar31 + 0x98) << 8 < 0) {
              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {
                EVar10 = piVar18[0x19];
                iVar32 = *(int *)(pcVar29 + 0x29035c);
                if (EVar10 == 0xffffffff) goto LAB_001a215c;
              }
              else {
                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);
                pSVar14 = in_a3->p_;
              }
            }
            else {
              EVar10 = piVar18[0x1a];
              if (EVar10 == 0) goto LAB_001a22b4;
            }
LAB_001a2184:
            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);
            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);
            pSVar14->sh_info = EVar10;
            pSVar14->sh_addralign = EVar19;
            pSVar14->sh_entsize = EVar16;
            return;
          }
          if (*(int *)(iVar31 + 0x4c) == 0) {
            EVar10 = *(Elf_Word *)(iVar31 + 0x50);
            goto LAB_001a2184;
          }
          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);
          if (EVar10 != 0) goto LAB_001a2184;
          Symbol::symtab_index((Symbol *)this_01);
LAB_001a21d4:
          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;
          this_01 = pLVar17;
          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();
          pSVar14 = in_a3->p_;
          piVar18 = *(int **)(iVar31 + 0x48);
          pSVar14->sh_link = EVar10;
        } while( true );
      }
      goto LAB_001a227c;
    }
  }
  else {
    (**(code **)(pcVar29 + 0x29036c))
              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xc5,*(int *)(pcVar29 + 0x29035c) + 0x7850);
LAB_001a227c:
    (**(code **)(pcVar29 + 0x29036c))
              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xcf,*(int *)(pcVar29 + 0x29035c) + 0x7894);
  }
  this_01 = (Layout *)(*(int *)(pcVar29 + 0x29035c) + -0x4fe0);
  (**(code **)(pcVar29 + 0x29036c))(this_01,0xe3,*(int *)(pcVar29 + 0x29035c) + 0x7818);
LAB_001a22b4:
  Output_section::symtab_index((Output_section *)this_01);
LAB_001a22c0:
                    /* WARNING: Subroutine does not return */
  Layout::dynsym_section(this_01);
code_r0x001a1dcc:
  pSVar11 = this->segment_list_;
LAB_001a1dd0:
  local_30 = local_30 + 1;
  if ((pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).
      _M_impl._M_finish == local_30) goto LAB_001a1de0;
  goto LAB_001a1c60;
LAB_001a1d74:
  uVar4 = (*p_Var30)();
  iVar31 = iVar32;
  goto joined_r0x001a1bd8;
LAB_001a1fa0:
  (**(code **)(iVar31 + -0x7e0c))(*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0x1043,iVar5 + 0x7868);
  unaff_s0 = pSVar14;
LAB_001a1fb8:
  puVar24 = (uchar *)0x1;
  goto LAB_001a1de0;
code_r0x001a21e4:
  if (-1 < *(int *)(iVar31 + 0x98) << 3) {
    uVar4 = *(uint *)(iVar31 + 0x44);
    this_01 = (Layout *)0x0;
    goto LAB_001a2120;
  }
  this_01 = (Layout *)pLVar17->dynsym_section_;
  if (this_01 == (Layout *)0x0) goto LAB_001a22c0;
  p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];
  if (p_Var25 != *(_func_int_varargs **)(pcVar29 + 0x290eac)) goto LAB_001a210c;
  uVar4 = (this_01->sympool_).string_set_._M_h._M_element_count;
  this_01 = (Layout *)0xffffffff;
  iVar32 = *(int *)(pcVar29 + 0x29035c);
  if (uVar4 != 0xffffffff) goto LAB_001a2120;
LAB_001a215c:
  piVar18 = (int *)0x1043;
  uVar4 = *(int *)(pcVar29 + 0x29035c) - 0x4fe0;
  (**(code **)(pcVar29 + 0x29036c))(uVar4,0x1043,iVar32 + 0x7868);
  pSVar14 = extraout_v1_00;
LAB_001a2170:
  uVar4 = uVar4 | 0x40;
  goto LAB_001a20c8;
}



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

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

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  uint extraout_v1;
  undefined4 *puVar6;
  undefined4 uVar7;
  int *piVar8;
  int *piVar9;
  int *piVar10;
  uint uVar11;
  undefined4 *puVar12;
  undefined4 *puVar13;
  int iVar14;
  undefined4 *puVar15;
  code *pcVar16;
  undefined4 *local_48 [2];
  undefined4 local_40;
  undefined4 local_3c;
  code *local_38;
  int *local_34;
  int *local_30;
  
  puVar2 = PTR_FUN_00432fc8;
  if (-1 < *(int *)(this + 0x20) << 1) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);
    return;
  }
  uVar7 = *(undefined4 *)(this + 0x10);
  uVar5 = *(uint *)(this + 0x14);
  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_001a2020;
  if (-1 < *(int *)(this + 0x18)) {
    uVar11 = uVar5 + *(int *)(this + 0x1c);
    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);
    if ((iVar3 <= *(int *)(param_1 + 8)) &&
       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {
      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));
      *puVar13 = 0;
      puVar13[1] = 0;
      puVar13[2] = 0;
      puVar13[3] = 0;
      puVar13[4] = 0;
      (*(code *)puVar2)(uVar7,uVar5,0,0x28);
      puVar2 = PTR_do_out_shndx_00432f04;
      if (extraout_v1 < 0xff00) {
        piVar8 = *(int **)(this + 0x38);
        puVar13[5] = 0;
        pcVar16 = *(code **)(*piVar8 + 0x2c);
        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;
LAB_001a1d74:
        uVar5 = (*pcVar16)();
        if (0xfeff < uVar5) goto LAB_001a1be0;
LAB_001a1d8c:
        piVar8 = *(int **)(this + 0x28);
        puVar13[6] = 0;
        piVar9 = (int *)*piVar8;
        piVar10 = (int *)piVar8[1];
        uVar5 = (int)piVar10 - (int)piVar9 >> 2;
        if (0xfffe < uVar5) goto LAB_001a1c10;
LAB_001a1db8:
        iVar3 = 0;
      }
      else {
        piVar8 = *(int **)(this + 0x38);
        iVar3 = *piVar8;
        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +
                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;
        pcVar16 = *(code **)(iVar3 + 0x2c);
        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;
LAB_001a1bc4:
        uVar5 = piVar8[0x19];
        if (uVar5 == 0xffffffff) {
LAB_001a1fa0:
          (*(code *)PTR_do_gold_unreachable_004323c4)
                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,
                     PTR_s_alize_xindex_004323b4 + 0x7868);
          return;
        }
        if (uVar5 < 0xff00) goto LAB_001a1d8c;
LAB_001a1be0:
        piVar8 = *(int **)(this + 0x28);
        piVar9 = (int *)*piVar8;
        piVar10 = (int *)piVar8[1];
        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
        uVar5 = (int)piVar10 - (int)piVar9 >> 2;
        if (uVar5 < 0xffff) goto LAB_001a1db8;
LAB_001a1c10:
        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
      }
      puVar1 = PTR_parameters_00432be0;
      local_34 = (int *)PTR_parameters_00432be0;
      puVar13[7] = iVar3;
      puVar13[8] = 0;
      iVar3 = *(int *)puVar1;
      puVar13[9] = 0;
      puVar13 = puVar13 + 10;
      if (*(int *)(iVar3 + 8) == 0) {
LAB_001a1fe8:
        (*(code *)PTR_do_gold_unreachable_004323c4)
                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);
        return;
      }
      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {
        if (piVar9 == piVar10) {
LAB_001a1fb8:
          iVar3 = 1;
        }
        else {
          iVar3 = 1;
          local_38 = (code *)PTR_write_header<32,false>_00434a4c;
          local_30 = piVar9;
          do {
            iVar14 = *local_30;
            if (*(int *)(iVar14 + 0x198) == 1) {
              local_40 = *(undefined4 *)(this + 0x24);
              piVar8 = (int *)(iVar14 + 4);
              local_3c = *(undefined4 *)(this + 0x34);
              do {
                puVar6 = (undefined4 *)piVar8[-1];
                if ((undefined4 *)*piVar8 != puVar6) {
                  piVar9 = (int *)*puVar6;
                  puVar15 = puVar13;
                  while( true ) {
                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);
                    puVar13 = puVar15;
                    if (iVar4 != 0) {
                      piVar9 = (int *)*puVar6;
                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {
                        iVar4 = piVar9[0x19];
                        if (iVar4 == -1) goto LAB_001a1fa0;
                      }
                      else {
                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);
                      }
                      if (iVar4 != iVar3) {
                        (*(code *)PTR_do_gold_unreachable_004323c4)
                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,
                                   PTR_s_alize_xindex_004323b4 + 0x7878);
                        return;
                      }
                      iVar3 = iVar3 + 1;
                      puVar13 = puVar15 + 10;
                      local_48[0] = puVar15;
                      (*local_38)(piVar9,local_40,local_3c,local_48);
                    }
                    puVar6 = puVar6 + 1;
                    if ((undefined4 *)*piVar8 == puVar6) break;
                    piVar9 = (int *)*puVar6;
                    puVar15 = puVar13;
                  }
                }
                piVar8 = piVar8 + 3;
              } while ((int *)(iVar14 + 0x160) != piVar8);
              piVar8 = *(int **)(this + 0x28);
            }
            local_30 = local_30 + 1;
          } while ((int *)piVar8[1] != local_30);
        }
      }
      else {
        puVar6 = *(undefined4 **)(this + 0x2c);
        puVar15 = (undefined4 *)*puVar6;
        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;
        iVar3 = 1;
        puVar12 = puVar13;
        do {
          piVar8 = (int *)*puVar15;
          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {
            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {
              iVar14 = piVar8[0x19];
              if (iVar14 == -1) goto LAB_001a1fa0;
            }
            else {
              iVar14 = (**(code **)(*piVar8 + 0x2c))();
            }
            if (iVar14 != iVar3) {
              uVar7 = 0x155;
              goto LAB_001a1fc4;
            }
            iVar3 = iVar3 + 1;
            puVar13 = puVar12 + 10;
            local_48[0] = puVar12;
            Output_section::write_header<32,false>
                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),
                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);
            puVar6 = *(undefined4 **)(this + 0x2c);
          }
          puVar15 = puVar15 + 1;
          puVar12 = puVar13;
        } while ((undefined4 *)puVar6[1] != puVar15);
      }
      puVar6 = *(undefined4 **)(this + 0x30);
      puVar15 = (undefined4 *)*puVar6;
      if (puVar15 != (undefined4 *)puVar6[1]) {
        do {
          piVar8 = (int *)*puVar15;
          if (piVar8[0x15] == 0x11) {
            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;
            puVar12 = puVar13;
            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {
              pcVar16 = *(code **)(*piVar8 + 0x2c);
              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;
LAB_001a1e9c:
              iVar14 = (*pcVar16)();
              goto LAB_001a1e20;
            }
          }
          else {
            pcVar16 = *(code **)(*piVar8 + 0x2c);
            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;
LAB_001a1e14:
            iVar14 = piVar8[0x19];
            if (iVar14 == -1) goto LAB_001a1fa0;
LAB_001a1e20:
            if (iVar3 != iVar14) {
              uVar7 = 0x167;
LAB_001a1fc4:
              (*(code *)PTR_do_gold_unreachable_004323c4)
                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,
                         PTR_s_alize_xindex_004323b4 + 0x78b0);
              return;
            }
            iVar3 = iVar3 + 1;
            puVar12 = puVar13 + 10;
            local_48[0] = puVar13;
            Output_section::write_header<32,false>
                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),
                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);
            puVar6 = *(undefined4 **)(this + 0x30);
          }
          puVar15 = puVar15 + 1;
          puVar13 = puVar12;
        } while ((undefined4 *)puVar6[1] != puVar15);
      }
      if (*(int *)(this + 0x20) << 2 < 0) {
        return;
      }
      goto LAB_001a2020;
    }
  }
  FUN_00182b60(uVar7);
LAB_001a2020:
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);
  return;
}


lui gp,0x2a
addiu gp,gp,-0x7904
addu gp,gp,t9
lw v0,0x20(a0)
addiu sp,sp,-0x60
ext v1,v0,0x1e,0x1
sw gp,0x10(sp)
sw ra,0x5c(sp)
sw s8,0x58(sp)
sw s7,0x54(sp)
sw s6,0x50(sp)
sw s5,0x4c(sp)
sw s4,0x48(sp)
sw s3,0x44(sp)
sw s2,0x40(sp)
sw s1,0x3c(sp)
beq v1,zero,0x001a203c
_sw s0,0x38(sp)
or s2,a0,zero
lw a0,0x10(a0)
ext v0,v0,0x1d,0x1
beq v0,zero,0x001a2020
_lw v1,0x14(s2)
lw a3,0x18(s2)
bltz a3,0x001a2010
_lw t0,0x1c(s2)
addu t1,v1,t0
lw a2,0x8(a1)
sltu v0,t1,v1
addu v0,v0,a3
slt a3,a2,v0
bne a3,zero,0x001a2014
_lw t9,-0x5b18(gp)
beq a2,v0,0x001a2000
_nop
lw s1,0x10(a1)
li a3,0x28
lw t9,-0x7208(gp)
or a2,zero,zero
or a1,v1,zero
addu s1,s1,t0
sw zero,0x0(s1)
sw zero,0x4(s1)
sw zero,0x8(s1)
sw zero,0xc(s1)
jalr t9
_sw zero,0x10(s1)
ori v0,zero,0xff00
sltu v0,v1,v0
bne v0,zero,0x001a1d54
_lw gp,0x10(sp)
lw a0,0x38(s2)
wsbh v1,v1
lw s3,-0x72cc(gp)
rotr v1,v1,0x10
lw v0,0x0(a0)
sw v1,0x14(s1)
lw t9,0x2c(v0)
bne t9,s3,0x001a1d74
_nop
lw v0,0x64(a0)
li v1,-0x1
beq v0,v1,0x001a1f9c
_ori v1,zero,0xff00
sltu v1,v0,v1
bne v1,zero,0x001a1d8c
_nop
lw v1,0x28(s2)
wsbh v0,v0
ori a0,zero,0xffff
rotr v0,v0,0x10
lw a1,0x0(v1)
lw a2,0x4(v1)
sw v0,0x18(s1)
subu v0,a2,a1
sra v0,v0,0x2
sltu a0,v0,a0
bne a0,zero,0x001a1db8
_nop
wsbh v0,v0
rotr v0,v0,0x10
lw a0,-0x75f0(gp)
sw v0,0x1c(s1)
sw zero,0x20(s1)
sw a0,0x2c(sp)
lw v0,0x0(a0)
sw zero,0x24(s1)
lw v0,0x8(v0)
beq v0,zero,0x001a1fe4
_addiu s0,s1,0x28
lbu v0,0x3195(v0)
bne v0,zero,0x001a1ee8
_nop
beq a1,a2,0x001a1fb8
_lw v0,-0x5784(gp)
li s1,0x1
addiu s8,sp,0x18
sw a1,0x30(sp)
sw v0,0x28(sp)
lw v0,0x30(sp)
lw s4,0x0(v0)
li v0,0x1
lw a0,0x198(s4)
bne a0,v0,0x001a1dd0
_lw a0,0x30(sp)
lw v0,0x24(s2)
addiu s5,s4,0x4
addiu s4,s4,0x160
sw v0,0x20(sp)
lw v0,0x34(s2)
sw v0,0x24(sp)
lw v1,-0x4(s5)
lw v0,0x0(s5)
beq v0,v1,0x001a1dc0
_or s6,v1,zero
b 0x001a1cf8
_lw v0,0x0(s6)
lw v0,0x64(s7)
beq v0,v1,0x001a1fa0
_lw a2,-0x7e1c(gp)
bne v0,s1,0x001a1d3c
_lw a2,-0x7e1c(gp)
lw a2,0x24(sp)
or a3,s8,zero
lw a1,0x20(sp)
or a0,s7,zero
lw t9,0x28(sp)
addiu s1,s1,0x1
sw s0,0x18(sp)
jalr t9
_addiu s0,s0,0x28
lw gp,0x10(sp)
lw v0,0x0(s5)
addiu s6,s6,0x4
beq v0,s6,0x001a1dc0
_nop
lw v0,0x0(s6)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x18(v0)
jalr t9
_nop
beq v0,zero,0x001a1ce4
_lw gp,0x10(sp)
lw s7,0x0(s6)
lw v0,0x0(s7)
lw t9,0x2c(v0)
beq t9,s3,0x001a1ca8
_li v1,-0x1
jalr t9
_or a0,s7,zero
beq v0,s1,0x001a1cbc
_lw gp,0x10(sp)
lw a2,-0x7e1c(gp)
li a1,0x1354
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x7878
jalr t9
_addiu a0,a0,0x59f0
lw a0,0x38(s2)
or v1,zero,zero
lw s3,-0x72cc(gp)
sw v1,0x14(s1)
lw v0,0x0(a0)
lw t9,0x2c(v0)
beq t9,s3,0x001a1bc4
_nop
jalr t9
_nop
ori v1,zero,0xff00
sltu v1,v0,v1
beq v1,zero,0x001a1be0
_lw gp,0x10(sp)
lw v1,0x28(s2)
or v0,zero,zero
ori a0,zero,0xffff
sw v0,0x18(s1)
lw a1,0x0(v1)
lw a2,0x4(v1)
subu v0,a2,a1
sra v0,v0,0x2
sltu a0,v0,a0
beq a0,zero,0x001a1c10
_nop
b 0x001a1c18
_or v0,zero,zero
addiu s5,s5,0xc
bne s4,s5,0x001a1c90
_lw a0,0x30(sp)
lw v1,0x28(s2)
lw v0,0x4(v1)
addiu a0,a0,0x4
bne v0,a0,0x001a1c60
_sw a0,0x30(sp)
lw v1,0x30(s2)
lw v0,0x4(v1)
lw s4,0x0(v1)
beq s4,v0,0x001a1eac
_li s5,0x11
lw s8,-0x5784(gp)
addiu s6,sp,0x18
b 0x001a1e60
_li s7,-0x1
lw v0,0x0(a0)
lw t9,0x2c(v0)
bne t9,s3,0x001a1e9c
_nop
lw v0,0x64(a0)
beq v0,s7,0x001a1fa0
_lw a2,-0x7e1c(gp)
bne s1,v0,0x001a1fc0
_or a3,s6,zero
lw a0,0x0(s4)
lw a2,0x34(s2)
or t9,s8,zero
lw a1,0x24(s2)
addiu s1,s1,0x1
sw s0,0x18(sp)
bal 0x001a17f4
_addiu s0,s0,0x28
lw gp,0x10(sp)
lw v1,0x30(s2)
lw v0,0x4(v1)
addiu s4,s4,0x4
beq v0,s4,0x001a1eac
_nop
lw a0,0x0(s4)
lw v0,0x54(a0)
bne v0,s5,0x001a1e04
_lw v0,0x2c(sp)
lw v0,0x0(v0)
lw v0,0x8(v0)
beq v0,zero,0x001a1fe8
_lw a2,-0x7e1c(gp)
lbu v0,0x3195(v0)
bne v0,zero,0x001a1e50
_nop
lw v0,0x0(a0)
lw t9,0x2c(v0)
beq t9,s3,0x001a1e14
_nop
jalr t9
_nop
b 0x001a1e20
_lw gp,0x10(sp)
lw v0,0x20(s2)
ext v0,v0,0x1d,0x1
beq v0,zero,0x001a2020
_lw ra,0x5c(sp)
lw s8,0x58(sp)
lw s7,0x54(sp)
lw s6,0x50(sp)
lw s5,0x4c(sp)
lw s4,0x48(sp)
lw s3,0x44(sp)
lw s2,0x40(sp)
lw s1,0x3c(sp)
lw s0,0x38(sp)
jr ra
_addiu sp,sp,0x60
lw v1,0x2c(s2)
lw s4,0x0(v1)
lw v0,0x4(v1)
beq v0,s4,0x001a1fb8
_li s6,-0x1
lw s8,-0x5784(gp)
li s1,0x1
addiu s5,sp,0x18
b 0x001a1f5c
_li s7,0x11
lw v0,0x64(a0)
beq v0,s6,0x001a1fa0
_lw a2,-0x7e1c(gp)
bne v0,s1,0x001a1fdc
_or a3,s5,zero
lw a0,0x0(s4)
lw a2,0x34(s2)
or t9,s8,zero
lw a1,0x24(s2)
addiu s1,s1,0x1
sw s0,0x18(sp)
bal 0x001a17f4
_addiu s0,s0,0x28
lw gp,0x10(sp)
lw v1,0x2c(s2)
lw v0,0x4(v1)
addiu s4,s4,0x4
beq v0,s4,0x001a1de0
_nop
lw a0,0x0(s4)
lw v0,0x5c(a0)
andi v0,v0,0x2
bne v0,zero,0x001a1f7c
_nop
lw v0,0x54(a0)
bne v0,s7,0x001a1f4c
_nop
lw v0,0x0(a0)
lw t9,0x2c(v0)
beq t9,s3,0x001a1f10
_nop
jalr t9
_nop
b 0x001a1f1c
_lw gp,0x10(sp)
lw a2,-0x7e1c(gp)
li a1,0x1043
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x7868
jalr t9
_addiu a0,a0,-0x4fe0
b 0x001a1de0
_li s1,0x1
li a1,0x167
lw a2,-0x7e1c(gp)
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x78b0
jalr t9
_addiu a0,a0,0x59f0
b 0x001a1fc4
_li a1,0x155
lw a2,-0x7e1c(gp)
li a1,0x5c
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x78cc
jalr t9
_addiu a0,a0,-0x5cec
lw v0,0xc(a1)
sltu t1,v0,t1
beq t1,zero,0x001a1b60
_nop
lw t9,-0x5b18(gp)
addiu t9,t9,0x2b60
bal 0x00182b60
_nop
lw a2,-0x7e1c(gp)
li a1,0xe3
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x7818
jalr t9
_addiu a0,a0,-0x4fe0
lw a2,-0x7e1c(gp)
li a1,0xcf
lw a0,-0x7e1c(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x7894
jalr t9
_addiu a0,a0,-0x4fe0
(translation_unit "/* void gold::Output_section_headers::do_sized_write<32, false>(gold::Output_file*) */\n\nvoid __thiscall\ngold::Output_section_headers::do_sized_write<32,false>\n          (Output_section_headers *this,Output_file *param_1)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  uint extraout_v1;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  code *pcVar16;\n  undefined4 *local_48 [2];\n  undefined4 local_40;\n  undefined4 local_3c;\n  code *local_38;\n  int *local_34;\n  int *local_30;\n  \n  puVar2 = PTR_FUN_00432fc8;\n  if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }\n  uVar7 = *(undefined4 *)(this + 0x10);\n  uVar5 = *(uint *)(this + 0x14);\n  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_001a2020;\n  if (-1 < *(int *)(this + 0x18)) {\n    uVar11 = uVar5 + *(int *)(this + 0x1c);\n    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);\n    if ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }\n  }\n  FUN_00182b60(uVar7);\nLAB_001a2020:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Output_section_headers::do_sized_write<32,false>\n          (Output_section_headers *this,Output_file *param_1)\n\n{\n  undefined *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_section_headers::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>\n          (Output_section_headers *this,Output_file *param_1)\n\n{\n  undefined" (function_declarator "false>\n          (Output_section_headers *this,Output_file *param_1)" identifier (ERROR ">" >) (parameter_list "(Output_section_headers *this,Output_file *param_1)" ( (parameter_declaration "Output_section_headers *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined4 *local_48 [2];" type_identifier (pointer_declarator "*local_48 [2]" * (array_declarator "local_48 [2]" identifier [ number_literal ])) ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "code *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (expression_statement "puVar2 = PTR_FUN_00432fc8;" (assignment_expression "puVar2 = PTR_FUN_00432fc8" identifier = identifier) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 1" number_literal < (binary_expression "*(int *)(this + 0x20) << 1" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7894" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar7 = *(undefined4 *)(this + 0x10);" (assignment_expression "uVar7 = *(undefined4 *)(this + 0x10)" identifier = (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(this + 0x14);" (assignment_expression "uVar5 = *(uint *)(this + 0x14)" identifier = (pointer_expression "*(uint *)(this + 0x14)" * (cast_expression "(uint *)(this + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_001a2020;" 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_001a2020;" goto statement_identifier ;)) (if_statement "if (-1 < *(int *)(this + 0x18)) {\n    uVar11 = uVar5 + *(int *)(this + 0x1c);\n    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);\n    if ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }\n  }" if (parenthesized_expression "(-1 < *(int *)(this + 0x18))" ( (binary_expression "-1 < *(int *)(this + 0x18)" number_literal < (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar11 = uVar5 + *(int *)(this + 0x1c);\n    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);\n    if ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }\n  }" { (expression_statement "uVar11 = uVar5 + *(int *)(this + 0x1c);" (assignment_expression "uVar11 = uVar5 + *(int *)(this + 0x1c)" identifier = (binary_expression "uVar5 + *(int *)(this + 0x1c)" identifier + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);" (assignment_expression "iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18)" identifier = (binary_expression "(uint)(uVar11 < uVar5) + *(int *)(this + 0x18)" (call_expression "(uint)(uVar11 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar5)" ( (binary_expression "uVar11 < uVar5" 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 ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }" if (parenthesized_expression "((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc)))))" ( (binary_expression "(iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))" (parenthesized_expression "(iVar3 <= *(int *)(param_1 + 8))" ( (binary_expression "iVar3 <= *(int *)(param_1 + 8)" identifier <= (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))" ( (parenthesized_expression "(*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc)))" ( (binary_expression "*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))" (binary_expression "*(int *)(param_1 + 8) != iVar3" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar11 <= *(uint *)(param_1 + 0xc))" ( (binary_expression "uVar11 <= *(uint *)(param_1 + 0xc)" identifier <= (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }" { (expression_statement "puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));" (assignment_expression "puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" identifier = (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" ( (binary_expression "*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c)" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar13 = 0;" (assignment_expression "*puVar13 = 0" (pointer_expression "*puVar13" * identifier) = number_literal) ;) (expression_statement "puVar13[1] = 0;" (assignment_expression "puVar13[1] = 0" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[2] = 0;" (assignment_expression "puVar13[2] = 0" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[3] = 0;" (assignment_expression "puVar13[3] = 0" (subscript_expression "puVar13[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[4] = 0;" (assignment_expression "puVar13[4] = 0" (subscript_expression "puVar13[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*(code *)puVar2)(uVar7,uVar5,0,0x28);" (call_expression "(*(code *)puVar2)(uVar7,uVar5,0,0x28)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,uVar5,0,0x28)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "puVar2 = PTR_do_out_shndx_00432f04;" (assignment_expression "puVar2 = PTR_do_out_shndx_00432f04" identifier = identifier) ;) (if_statement "if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" if (parenthesized_expression "(extraout_v1 < 0xff00)" ( (binary_expression "extraout_v1 < 0xff00" identifier < number_literal) )) (compound_statement "{\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }" { (expression_statement "piVar8 = *(int **)(this + 0x38);" (assignment_expression "piVar8 = *(int **)(this + 0x38)" identifier = (pointer_expression "*(int **)(this + 0x38)" * (cast_expression "(int **)(this + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x38)" ( (binary_expression "this + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar13[5] = 0;" (assignment_expression "puVar13[5] = 0" (subscript_expression "puVar13[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x2c)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;" if (parenthesized_expression "(pcVar16 == (code *)puVar2)" ( (binary_expression "pcVar16 == (code *)puVar2" identifier == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_001a1bc4;" goto statement_identifier ;)) (labeled_statement "LAB_001a1d74:\n        uVar5 = (*pcVar16)();" statement_identifier : (expression_statement "uVar5 = (*pcVar16)();" (assignment_expression "uVar5 = (*pcVar16)()" identifier = (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( )))) ;)) (if_statement "if (0xfeff < uVar5) goto LAB_001a1be0;" if (parenthesized_expression "(0xfeff < uVar5)" ( (binary_expression "0xfeff < uVar5" number_literal < identifier) )) (goto_statement "goto LAB_001a1be0;" goto statement_identifier ;)) (labeled_statement "LAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);" statement_identifier : (expression_statement "piVar8 = *(int **)(this + 0x28);" (assignment_expression "piVar8 = *(int **)(this + 0x28)" identifier = (pointer_expression "*(int **)(this + 0x28)" * (cast_expression "(int **)(this + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) ))))) ;)) (expression_statement "puVar13[6] = 0;" (assignment_expression "puVar13[6] = 0" (subscript_expression "puVar13[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9 = (int *)*piVar8;" (assignment_expression "piVar9 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "piVar10 = (int *)piVar8[1];" (assignment_expression "piVar10 = (int *)piVar8[1]" identifier = (cast_expression "(int *)piVar8[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar5 = (int)piVar10 - (int)piVar9 >> 2;" (assignment_expression "uVar5 = (int)piVar10 - (int)piVar9 >> 2" identifier = (binary_expression "(int)piVar10 - (int)piVar9 >> 2" (binary_expression "(int)piVar10 - (int)piVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (if_statement "if (0xfffe < uVar5) goto LAB_001a1c10;" if (parenthesized_expression "(0xfffe < uVar5)" ( (binary_expression "0xfffe < uVar5" number_literal < identifier) )) (goto_statement "goto LAB_001a1c10;" goto statement_identifier ;)) (labeled_statement "LAB_001a1db8:\n        iVar3 = 0;" statement_identifier : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" else (compound_statement "{\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" { (expression_statement "piVar8 = *(int **)(this + 0x38);" (assignment_expression "piVar8 = *(int **)(this + 0x38)" identifier = (pointer_expression "*(int **)(this + 0x38)" * (cast_expression "(int **)(this + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x38)" ( (binary_expression "this + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *piVar8;" (assignment_expression "iVar3 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;" (assignment_expression "puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (subscript_expression "puVar13[5]" identifier [ number_literal ]) = (binary_expression "(((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10)" ( (binary_expression "(extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10" (binary_expression "(extraout_v1 >> 0x10) << 0x18" (parenthesized_expression "(extraout_v1 >> 0x10)" ( (binary_expression "extraout_v1 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(extraout_v1 >> 0x18) << 0x10" (parenthesized_expression "(extraout_v1 >> 0x18)" ( (binary_expression "extraout_v1 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff)" ( (binary_expression "(extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff" (binary_expression "(extraout_v1 & 0xff) << 8" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "extraout_v1 >> 8 & 0xff" (binary_expression "extraout_v1 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "pcVar16 = *(code **)(iVar3 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(iVar3 + 0x2c)" identifier = (pointer_expression "*(code **)(iVar3 + 0x2c)" * (cast_expression "(code **)(iVar3 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;" if (parenthesized_expression "(pcVar16 != (code *)puVar2)" ( (binary_expression "pcVar16 != (code *)puVar2" identifier != (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_001a1d74;" goto statement_identifier ;)) (labeled_statement "LAB_001a1bc4:\n        uVar5 = piVar8[0x19];" statement_identifier : (expression_statement "uVar5 = piVar8[0x19];" (assignment_expression "uVar5 = piVar8[0x19]" identifier = (subscript_expression "piVar8[0x19]" identifier [ number_literal ])) ;)) (if_statement "if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }" if (parenthesized_expression "(uVar5 == 0xffffffff)" ( (binary_expression "uVar5 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }" { (labeled_statement "LAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7868" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if (uVar5 < 0xff00) goto LAB_001a1d8c;" if (parenthesized_expression "(uVar5 < 0xff00)" ( (binary_expression "uVar5 < 0xff00" identifier < number_literal) )) (goto_statement "goto LAB_001a1d8c;" goto statement_identifier ;)) (labeled_statement "LAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);" statement_identifier : (expression_statement "piVar8 = *(int **)(this + 0x28);" (assignment_expression "piVar8 = *(int **)(this + 0x28)" identifier = (pointer_expression "*(int **)(this + 0x28)" * (cast_expression "(int **)(this + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) ))))) ;)) (expression_statement "piVar9 = (int *)*piVar8;" (assignment_expression "piVar9 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "piVar10 = (int *)piVar8[1];" (assignment_expression "piVar10 = (int *)piVar8[1]" identifier = (cast_expression "(int *)piVar8[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "puVar13[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 "uVar5 = (int)piVar10 - (int)piVar9 >> 2;" (assignment_expression "uVar5 = (int)piVar10 - (int)piVar9 >> 2" identifier = (binary_expression "(int)piVar10 - (int)piVar9 >> 2" (binary_expression "(int)piVar10 - (int)piVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (if_statement "if (uVar5 < 0xffff) goto LAB_001a1db8;" if (parenthesized_expression "(uVar5 < 0xffff)" ( (binary_expression "uVar5 < 0xffff" identifier < number_literal) )) (goto_statement "goto LAB_001a1db8;" goto statement_identifier ;)) (labeled_statement "LAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" statement_identifier : (expression_statement "iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" identifier = (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 "puVar1 = PTR_parameters_00432be0;" (assignment_expression "puVar1 = PTR_parameters_00432be0" identifier = identifier) ;) (expression_statement "local_34 = (int *)PTR_parameters_00432be0;" (assignment_expression "local_34 = (int *)PTR_parameters_00432be0" identifier = (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar13[7] = iVar3;" (assignment_expression "puVar13[7] = iVar3" (subscript_expression "puVar13[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[8] = 0;" (assignment_expression "puVar13[8] = 0" (subscript_expression "puVar13[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar13[9] = 0;" (assignment_expression "puVar13[9] = 0" (subscript_expression "puVar13[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13 = puVar13 + 10;" (assignment_expression "puVar13 = puVar13 + 10" identifier = (binary_expression "puVar13 + 10" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" ( (binary_expression "*(int *)(iVar3 + 8) == 0" (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) )))) == number_literal) )) (compound_statement "{\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }" { (labeled_statement "LAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x78cc" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" if (parenthesized_expression "(*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0')" ( (binary_expression "*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(iVar3 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(iVar3 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 8) + 0x3195)" ( (binary_expression "*(int *)(iVar3 + 8) + 0x3195" (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) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }" { (if_statement "if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }" if (parenthesized_expression "(piVar9 == piVar10)" ( (binary_expression "piVar9 == piVar10" identifier == identifier) )) (compound_statement "{\nLAB_001a1fb8:\n          iVar3 = 1;\n        }" { (labeled_statement "LAB_001a1fb8:\n          iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) }) (else_clause "else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }" else (compound_statement "{\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }" { (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "local_38 = (code *)PTR_write_header<32,false>_00434a4c;" (comma_expression "local_38 = (code *)PTR_write_header<32,false>_00434a4c" (assignment_expression "local_38 = (code *)PTR_write_header<32" identifier = (binary_expression "(code *)PTR_write_header<32" (cast_expression "(code *)PTR_write_header" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < number_literal)) , (binary_expression "false>_00434a4c" false > identifier)) ;) (expression_statement "local_30 = piVar9;" (assignment_expression "local_30 = piVar9" identifier = identifier) ;) (do_statement "do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);" do (compound_statement "{\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          }" { (expression_statement "iVar14 = *local_30;" (assignment_expression "iVar14 = *local_30" identifier = (pointer_expression "*local_30" * identifier)) ;) (if_statement "if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }" if (parenthesized_expression "(*(int *)(iVar14 + 0x198) == 1)" ( (binary_expression "*(int *)(iVar14 + 0x198) == 1" (pointer_expression "*(int *)(iVar14 + 0x198)" * (cast_expression "(int *)(iVar14 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x198)" ( (binary_expression "iVar14 + 0x198" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }" { (expression_statement "local_40 = *(undefined4 *)(this + 0x24);" (assignment_expression "local_40 = *(undefined4 *)(this + 0x24)" identifier = (pointer_expression "*(undefined4 *)(this + 0x24)" * (cast_expression "(undefined4 *)(this + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) ))))) ;) (expression_statement "piVar8 = (int *)(iVar14 + 4);" (assignment_expression "piVar8 = (int *)(iVar14 + 4)" identifier = (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) ;) (expression_statement "local_3c = *(undefined4 *)(this + 0x34);" (assignment_expression "local_3c = *(undefined4 *)(this + 0x34)" identifier = (pointer_expression "*(undefined4 *)(this + 0x34)" * (cast_expression "(undefined4 *)(this + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x34)" ( (binary_expression "this + 0x34" identifier + number_literal) ))))) ;) (do_statement "do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);" do (compound_statement "{\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              }" { (expression_statement "puVar6 = (undefined4 *)piVar8[-1];" (assignment_expression "puVar6 = (undefined4 *)piVar8[-1]" identifier = (cast_expression "(undefined4 *)piVar8[-1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[-1]" identifier [ number_literal ]))) ;) (if_statement "if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }" if (parenthesized_expression "((undefined4 *)*piVar8 != puVar6)" ( (binary_expression "(undefined4 *)*piVar8 != puVar6" (cast_expression "(undefined4 *)*piVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier)) != identifier) )) (compound_statement "{\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }" { (expression_statement "piVar9 = (int *)*puVar6;" (assignment_expression "piVar9 = (int *)*puVar6" identifier = (cast_expression "(int *)*puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "puVar15 = puVar13;" (assignment_expression "puVar15 = puVar13" identifier = identifier) ;) (while_statement "while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }" { (expression_statement "iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);" (assignment_expression "iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 0x18))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0x18))" ( (pointer_expression "**(code **)(*piVar9 + 0x18)" * (pointer_expression "*(code **)(*piVar9 + 0x18)" * (cast_expression "(code **)(*piVar9 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0x18)" ( (binary_expression "*piVar9 + 0x18" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (expression_statement "puVar13 = puVar15;" (assignment_expression "puVar13 = puVar15" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }" { (expression_statement "piVar9 = (int *)*puVar6;" (assignment_expression "piVar9 = (int *)*puVar6" identifier = (cast_expression "(int *)*puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }" if (parenthesized_expression "(*(code **)(*piVar9 + 0x2c) == (code *)puVar2)" ( (binary_expression "*(code **)(*piVar9 + 0x2c) == (code *)puVar2" (pointer_expression "*(code **)(*piVar9 + 0x2c)" * (cast_expression "(code **)(*piVar9 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0x2c)" ( (binary_expression "*piVar9 + 0x2c" (pointer_expression "*piVar9" * identifier) + number_literal) )))) == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }" { (expression_statement "iVar4 = piVar9[0x19];" (assignment_expression "iVar4 = piVar9[0x19]" identifier = (subscript_expression "piVar9[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar4 == -1) goto LAB_001a1fa0;" if (parenthesized_expression "(iVar4 == -1)" ( (binary_expression "iVar4 == -1" identifier == number_literal) )) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;)) }) (else_clause "else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }" else (compound_statement "{\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }" { (expression_statement "iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);" (assignment_expression "iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 0x2c))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0x2c))" ( (pointer_expression "**(code **)(*piVar9 + 0x2c)" * (pointer_expression "*(code **)(*piVar9 + 0x2c)" * (cast_expression "(code **)(*piVar9 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0x2c)" ( (binary_expression "*piVar9 + 0x2c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) }))) (if_statement "if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }" if (parenthesized_expression "(iVar4 != iVar3)" ( (binary_expression "iVar4 != iVar3" identifier != identifier) )) (compound_statement "{\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + 0x59f0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7878" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar15 + 10;" (assignment_expression "puVar13 = puVar15 + 10" identifier = (binary_expression "puVar15 + 10" identifier + number_literal)) ;) (expression_statement "local_48[0] = puVar15;" (assignment_expression "local_48[0] = puVar15" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*local_38)(piVar9,local_40,local_3c,local_48);" (call_expression "(*local_38)(piVar9,local_40,local_3c,local_48)" (parenthesized_expression "(*local_38)" ( (pointer_expression "*local_38" * identifier) )) (argument_list "(piVar9,local_40,local_3c,local_48)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "puVar6 = puVar6 + 1;" (assignment_expression "puVar6 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined4 *)*piVar8 == puVar6) break;" if (parenthesized_expression "((undefined4 *)*piVar8 == puVar6)" ( (binary_expression "(undefined4 *)*piVar8 == puVar6" (cast_expression "(undefined4 *)*piVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier)) == identifier) )) (break_statement "break;" break ;)) (expression_statement "piVar9 = (int *)*puVar6;" (assignment_expression "piVar9 = (int *)*puVar6" identifier = (cast_expression "(int *)*puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "puVar15 = puVar13;" (assignment_expression "puVar15 = puVar13" identifier = identifier) ;) })) })) (expression_statement "piVar8 = piVar8 + 3;" (assignment_expression "piVar8 = piVar8 + 3" identifier = (binary_expression "piVar8 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "((int *)(iVar14 + 0x160) != piVar8)" ( (binary_expression "(int *)(iVar14 + 0x160) != piVar8" (cast_expression "(int *)(iVar14 + 0x160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x160)" ( (binary_expression "iVar14 + 0x160" identifier + number_literal) ))) != identifier) )) ;) (expression_statement "piVar8 = *(int **)(this + 0x28);" (assignment_expression "piVar8 = *(int **)(this + 0x28)" identifier = (pointer_expression "*(int **)(this + 0x28)" * (cast_expression "(int **)(this + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) ))))) ;) })) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int *)piVar8[1] != local_30)" ( (binary_expression "(int *)piVar8[1] != local_30" (cast_expression "(int *)piVar8[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[1]" identifier [ number_literal ])) != identifier) )) ;) }))) }) (else_clause "else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" else (compound_statement "{\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" { (expression_statement "puVar6 = *(undefined4 **)(this + 0x2c);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x2c)" identifier = (pointer_expression "*(undefined4 **)(this + 0x2c)" * (cast_expression "(undefined4 **)(this + 0x2c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x2c)" ( (binary_expression "this + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = (undefined4 *)*puVar6;" (assignment_expression "puVar15 = (undefined4 *)*puVar6" identifier = (cast_expression "(undefined4 *)*puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;" if (parenthesized_expression "((undefined4 *)puVar6[1] == puVar15)" ( (binary_expression "(undefined4 *)puVar6[1] == puVar15" (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])) == identifier) )) (goto_statement "goto LAB_001a1fb8;" goto statement_identifier ;)) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (do_statement "do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);" do (compound_statement "{\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        }" { (expression_statement "piVar8 = (int *)*puVar15;" (assignment_expression "piVar8 = (int *)*puVar15" identifier = (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (if_statement "if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }" if (parenthesized_expression "(((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11))" ( (binary_expression "((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)" (parenthesized_expression "((piVar8[0x17] & 2U) != 0)" ( (binary_expression "(piVar8[0x17] & 2U) != 0" (parenthesized_expression "(piVar8[0x17] & 2U)" ( (binary_expression "piVar8[0x17] & 2U" (subscript_expression "piVar8[0x17]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(puVar13 = puVar12, piVar8[0x15] == 0x11)" ( (comma_expression "puVar13 = puVar12, piVar8[0x15] == 0x11" (assignment_expression "puVar13 = puVar12" identifier = identifier) , (binary_expression "piVar8[0x15] == 0x11" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }" { (if_statement "if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }" if (parenthesized_expression "(*(code **)(*piVar8 + 0x2c) == (code *)puVar2)" ( (binary_expression "*(code **)(*piVar8 + 0x2c) == (code *)puVar2" (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) )))) == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }" { (expression_statement "iVar14 = piVar8[0x19];" (assignment_expression "iVar14 = piVar8[0x19]" identifier = (subscript_expression "piVar8[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar14 == -1) goto LAB_001a1fa0;" if (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;)) }) (else_clause "else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }" else (compound_statement "{\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }" { (expression_statement "iVar14 = (**(code **)(*piVar8 + 0x2c))();" (assignment_expression "iVar14 = (**(code **)(*piVar8 + 0x2c))()" identifier = (call_expression "(**(code **)(*piVar8 + 0x2c))()" (parenthesized_expression "(**(code **)(*piVar8 + 0x2c))" ( (pointer_expression "**(code **)(*piVar8 + 0x2c)" * (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (if_statement "if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }" if (parenthesized_expression "(iVar14 != iVar3)" ( (binary_expression "iVar14 != iVar3" identifier != identifier) )) (compound_statement "{\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }" { (expression_statement "uVar7 = 0x155;" (assignment_expression "uVar7 = 0x155" identifier = number_literal) ;) (goto_statement "goto LAB_001a1fc4;" goto statement_identifier ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar12 + 10;" (assignment_expression "puVar13 = puVar12 + 10" identifier = (binary_expression "puVar12 + 10" identifier + number_literal)) ;) (expression_statement "local_48[0] = puVar12;" (assignment_expression "local_48[0] = puVar12" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" statement_identifier : (ERROR ":" :) (expression_statement "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" (comma_expression "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (binary_expression "write_header<32" identifier < number_literal) , (binary_expression "false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" false > (parenthesized_expression "((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" ( (comma_expression "(Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (cast_expression "(Output_section *)*puVar15" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) , (comma_expression "*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Layout **)(this + 0x24)" * (cast_expression "(Layout **)(this + 0x24)" ( (type_descriptor "Layout **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) , (comma_expression "*(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Stringpool_template **)(this + 0x34)" * (cast_expression "(Stringpool_template **)(this + 0x34)" ( (type_descriptor "Stringpool_template **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x34)" ( (binary_expression "this + 0x34" identifier + number_literal) )))) , (cast_expression "(Shdr_write *)local_48" ( (type_descriptor "Shdr_write *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) )))) ;)) (expression_statement "puVar6 = *(undefined4 **)(this + 0x2c);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x2c)" identifier = (pointer_expression "*(undefined4 **)(this + 0x2c)" * (cast_expression "(undefined4 **)(this + 0x2c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x2c)" ( (binary_expression "this + 0x2c" identifier + number_literal) ))))) ;) })) (expression_statement "puVar15 = puVar15 + 1;" (assignment_expression "puVar15 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) }) while (parenthesized_expression "((undefined4 *)puVar6[1] != puVar15)" ( (binary_expression "(undefined4 *)puVar6[1] != puVar15" (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])) != identifier) )) ;) }))) (expression_statement "puVar6 = *(undefined4 **)(this + 0x30);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x30)" identifier = (pointer_expression "*(undefined4 **)(this + 0x30)" * (cast_expression "(undefined4 **)(this + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x30)" ( (binary_expression "this + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = (undefined4 *)*puVar6;" (assignment_expression "puVar15 = (undefined4 *)*puVar6" identifier = (cast_expression "(undefined4 *)*puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" if (parenthesized_expression "(puVar15 != (undefined4 *)puVar6[1])" ( (binary_expression "puVar15 != (undefined4 *)puVar6[1]" identifier != (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" { (do_statement "do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);" do (compound_statement "{\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        }" { (expression_statement "piVar8 = (int *)*puVar15;" (assignment_expression "piVar8 = (int *)*puVar15" identifier = (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (if_statement "if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }" if (parenthesized_expression "(piVar8[0x15] == 0x11)" ( (binary_expression "piVar8[0x15] == 0x11" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }" { (if_statement "if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;" if (parenthesized_expression "(*(int *)(*local_34 + 8) == 0)" ( (binary_expression "*(int *)(*local_34 + 8) == 0" (pointer_expression "*(int *)(*local_34 + 8)" * (cast_expression "(int *)(*local_34 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_34 + 8)" ( (binary_expression "*local_34 + 8" (pointer_expression "*local_34" * identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001a1fe8;" goto statement_identifier ;)) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (if_statement "if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }" if (parenthesized_expression "(*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0')" ( (binary_expression "*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(*local_34 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(*local_34 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_34 + 8) + 0x3195)" ( (binary_expression "*(int *)(*local_34 + 8) + 0x3195" (pointer_expression "*(int *)(*local_34 + 8)" * (cast_expression "(int *)(*local_34 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_34 + 8)" ( (binary_expression "*local_34 + 8" (pointer_expression "*local_34" * identifier) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }" { (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x2c)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;" if (parenthesized_expression "(pcVar16 == (code *)puVar2)" ( (binary_expression "pcVar16 == (code *)puVar2" identifier == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_001a1e14;" goto statement_identifier ;)) (labeled_statement "LAB_001a1e9c:\n              iVar14 = (*pcVar16)();" statement_identifier : (expression_statement "iVar14 = (*pcVar16)();" (assignment_expression "iVar14 = (*pcVar16)()" identifier = (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( )))) ;)) (goto_statement "goto LAB_001a1e20;" goto statement_identifier ;) })) }) (else_clause "else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }" else (compound_statement "{\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }" { (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x2c)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;" if (parenthesized_expression "(pcVar16 != (code *)puVar2)" ( (binary_expression "pcVar16 != (code *)puVar2" identifier != (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_001a1e9c;" goto statement_identifier ;)) (labeled_statement "LAB_001a1e14:\n            iVar14 = piVar8[0x19];" statement_identifier : (expression_statement "iVar14 = piVar8[0x19];" (assignment_expression "iVar14 = piVar8[0x19]" identifier = (subscript_expression "piVar8[0x19]" identifier [ number_literal ])) ;)) (if_statement "if (iVar14 == -1) goto LAB_001a1fa0;" if (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;)) (labeled_statement "LAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }" statement_identifier : (if_statement "if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }" if (parenthesized_expression "(iVar3 != iVar14)" ( (binary_expression "iVar3 != iVar14" identifier != identifier) )) (compound_statement "{\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }" { (expression_statement "uVar7 = 0x167;" (assignment_expression "uVar7 = 0x167" identifier = number_literal) ;) (labeled_statement "LAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + 0x59f0" identifier + number_literal) , identifier , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x78b0" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) }))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar13 + 10;" (assignment_expression "puVar12 = puVar13 + 10" identifier = (binary_expression "puVar13 + 10" identifier + number_literal)) ;) (expression_statement "local_48[0] = puVar13;" (assignment_expression "local_48[0] = puVar13" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" statement_identifier : (ERROR ":" :) (expression_statement "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" (comma_expression "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (binary_expression "write_header<32" identifier < number_literal) , (binary_expression "false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" false > (parenthesized_expression "((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" ( (comma_expression "(Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (cast_expression "(Output_section *)*puVar15" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) , (comma_expression "*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Layout **)(this + 0x24)" * (cast_expression "(Layout **)(this + 0x24)" ( (type_descriptor "Layout **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) , (comma_expression "*(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Stringpool_template **)(this + 0x34)" * (cast_expression "(Stringpool_template **)(this + 0x34)" ( (type_descriptor "Stringpool_template **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x34)" ( (binary_expression "this + 0x34" identifier + number_literal) )))) , (cast_expression "(Shdr_write *)local_48" ( (type_descriptor "Shdr_write *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) )))) ;)) (expression_statement "puVar6 = *(undefined4 **)(this + 0x30);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x30)" identifier = (pointer_expression "*(undefined4 **)(this + 0x30)" * (cast_expression "(undefined4 **)(this + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x30)" ( (binary_expression "this + 0x30" identifier + number_literal) ))))) ;) }))) (expression_statement "puVar15 = puVar15 + 1;" (assignment_expression "puVar15 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" identifier = identifier) ;) }) while (parenthesized_expression "((undefined4 *)puVar6[1] != puVar15)" ( (binary_expression "(undefined4 *)puVar6[1] != puVar15" (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])) != identifier) )) ;) })) (if_statement "if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(this + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(this + 0x20) << 2 < 0" (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_001a2020;" goto statement_identifier ;) })) })) (expression_statement "FUN_00182b60(uVar7);" (call_expression "FUN_00182b60(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (labeled_statement "LAB_001a2020:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7818" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\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/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* DWARF original name: do_sized_write<32, false>\n   DWARF original prototype: void do_sized_write<32,_false>(Output_section_headers * this,\n   Output_file * of) */\n\nvoid __thiscall\ngold::Output_section_headers::do_sized_write<32,_false>\n          (Output_section_headers *this,Output_file *of)\n\n{\n  int iVar1;\n  Output_file *pOVar2;\n  _func_int_varargs **pp_Var3;\n  uint uVar4;\n  int iVar5;\n  undefined4 uVar6;\n  Stringpool *pSVar7;\n  Output_data *pOVar8;\n  uchar *puVar9;\n  Elf_Word EVar10;\n  uint extraout_v1;\n  Segment_list *pSVar11;\n  pointer ppOVar12;\n  Section_list *pSVar13;\n  Shdr_data<32> *pSVar14;\n  Shdr_data<32> *extraout_v1_00;\n  Output_file *this_00;\n  Output_section *pOVar15;\n  Layout *this_01;\n  Elf_WXword EVar16;\n  Layout *pLVar17;\n  int *piVar18;\n  Elf_WXword EVar19;\n  Output_file *in_a2;\n  pointer ppOVar20;\n  Elf_Word EVar21;\n  Shdr_write<32,_false> *in_a3;\n  uint uVar22;\n  Shdr_data<32> *unaff_s0;\n  Shdr_data<32> *pSVar23;\n  uchar *puVar24;\n  _func_int_varargs *p_Var25;\n  Output_segment *pOVar26;\n  pointer ppOVar27;\n  pointer *pppOVar28;\n  code *pcVar29;\n  _func_int_varargs *p_Var30;\n  int iVar31;\n  int iVar32;\n  undefined4 in_stack_ffffffb4;\n  Shdr_write<32,_false> oshdr;\n  int *local_34;\n  pointer local_30;\n  \n  iVar31 = 0x43a1d0;\n  iVar1 = *(int *)&(this->super_Output_data).field_0x20;\n  iVar32 = 0x43a1d0;\n  if (iVar1 << 1 < 0) {\n    this_00 = *(Output_file **)&(this->super_Output_data).data_size_;\n    uVar4 = (uint)(this->super_Output_data).data_size_;\n    if (iVar1 << 2 < 0) {\n      in_a3 = *(Shdr_write<32,_false> **)&(this->super_Output_data).offset_;\n      iVar1 = (int)(this->super_Output_data).offset_;\n      if (-1 < (int)in_a3) {\n        uVar22 = uVar4 + iVar1;\n        in_a2 = *(Output_file **)&of->file_size_;\n        pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4));\n        in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2);\n        if (in_a3 == (Shdr_write<32,_false> *)0x0) {\n          pSVar14 = unaff_s0;\n          if (in_a2 == pOVar2) goto LAB_001a2000;\n          do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );\n        }\n      }\n      Output_file::get_output_view(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2);\n    }\nLAB_001a2020:\n    (**(code **)(iVar31 + -0x7e0c))\n              (*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0xe3,*(int *)(iVar31 + -0x7e1c) + 0x7818);\n  }\n  pLVar17 = (Layout *)&DAT_000000cf;\n  pcVar29 = *(code **)(iVar31 + -0x7e0c);\n  iVar32 = *(int *)(iVar31 + -0x7e1c) + 0x7894;\n  iVar31 = *(int *)(iVar31 + -0x7e1c) + -0x4fe0;\n  (*pcVar29)(iVar31,0xcf,iVar32);\n  EVar10 = (**(code **)(pcVar29 + 0x290388))(iVar32,*(undefined4 *)(iVar31 + 0x24));\n  pSVar14 = in_a3->p_;\n  EVar21 = *(Elf_Word *)(iVar31 + 0x54);\n  piVar18 = *(int **)(iVar31 + 0x48);\n  uVar4 = *(uint *)(iVar31 + 0x5c);\n  pSVar14->sh_name = EVar10;\n  pSVar14->sh_type = EVar21;\n  if ((piVar18 != (int *)0x0) && (*(int *)(iVar31 + 0x98) << 8 < 0)) goto LAB_001a2170;\nLAB_001a20c8:\n  iVar32 = *(int *)(iVar31 + 0x20);\n  pSVar14->sh_flags = uVar4;\n  if (iVar32 < 0) {\n    pSVar14->sh_addr = *(Elf_Addr *)(iVar31 + 0xc);\n    if (iVar32 << 2 < 0) {\n      pSVar14->sh_offset = *(Elf_Off *)(iVar31 + 0x1c);\n      if (iVar32 << 1 < 0) {\n        this_01 = *(Layout **)(iVar31 + 0x40);\n        pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14);\n        if (this_01 == (Layout *)0x0) goto LAB_001a21d4;\n        p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];\nLAB_001a210c:\n        uVar4 = (*p_Var25)();\n        pSVar14 = in_a3->p_;\n        piVar18 = *(int **)(iVar31 + 0x48);\nLAB_001a2120:\n        pSVar14->sh_link = uVar4;\n        do {\n          if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }\n          if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }\n          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);\n          if (EVar10 != 0) goto LAB_001a2184;\n          Symbol::symtab_index((Symbol *)this_01);\nLAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;\n          this_01 = pLVar17;\n          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();\n          pSVar14 = in_a3->p_;\n          piVar18 = *(int **)(iVar31 + 0x48);\n          pSVar14->sh_link = EVar10;\n        } while( true );\n      }\n      goto LAB_001a227c;\n    }\n  }\n  else {\n    (**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xc5,*(int *)(pcVar29 + 0x29035c) + 0x7850);\nLAB_001a227c:\n    (**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xcf,*(int *)(pcVar29 + 0x29035c) + 0x7894);\n  }\n  this_01 = (Layout *)(*(int *)(pcVar29 + 0x29035c) + -0x4fe0);\n  (**(code **)(pcVar29 + 0x29036c))(this_01,0xe3,*(int *)(pcVar29 + 0x29035c) + 0x7818);\nLAB_001a22b4:\n  Output_section::symtab_index((Output_section *)this_01);\nLAB_001a22c0:\n                    /* WARNING: Subroutine does not return */\n  Layout::dynsym_section(this_01);\ncode_r0x001a1dcc:\n  pSVar11 = this->segment_list_;\nLAB_001a1dd0:\n  local_30 = local_30 + 1;\n  if ((pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n      _M_impl._M_finish == local_30) goto LAB_001a1de0;\n  goto LAB_001a1c60;\nLAB_001a1d74:\n  uVar4 = (*p_Var30)();\n  iVar31 = iVar32;\n  goto joined_r0x001a1bd8;\nLAB_001a1fa0:\n  (**(code **)(iVar31 + -0x7e0c))(*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0x1043,iVar5 + 0x7868);\n  unaff_s0 = pSVar14;\nLAB_001a1fb8:\n  puVar24 = (uchar *)0x1;\n  goto LAB_001a1de0;\ncode_r0x001a21e4:\n  if (-1 < *(int *)(iVar31 + 0x98) << 3) {\n    uVar4 = *(uint *)(iVar31 + 0x44);\n    this_01 = (Layout *)0x0;\n    goto LAB_001a2120;\n  }\n  this_01 = (Layout *)pLVar17->dynsym_section_;\n  if (this_01 == (Layout *)0x0) goto LAB_001a22c0;\n  p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];\n  if (p_Var25 != *(_func_int_varargs **)(pcVar29 + 0x290eac)) goto LAB_001a210c;\n  uVar4 = (this_01->sympool_).string_set_._M_h._M_element_count;\n  this_01 = (Layout *)0xffffffff;\n  iVar32 = *(int *)(pcVar29 + 0x29035c);\n  if (uVar4 != 0xffffffff) goto LAB_001a2120;\nLAB_001a215c:\n  piVar18 = (int *)0x1043;\n  uVar4 = *(int *)(pcVar29 + 0x29035c) - 0x4fe0;\n  (**(code **)(pcVar29 + 0x29036c))(uVar4,0x1043,iVar32 + 0x7868);\n  pSVar14 = extraout_v1_00;\nLAB_001a2170:\n  uVar4 = uVar4 | 0x40;\n  goto LAB_001a20c8;\n}\n\n" comment comment comment comment comment comment comment (declaration "void __thiscall\ngold::Output_section_headers::do_sized_write<32,_false>\n          (Output_section_headers *this,Output_file *of)\n\n{\n  int iVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_section_headers::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>\n          (Output_section_headers *this,Output_file *of)\n\n{\n  int" (function_declarator "_false>\n          (Output_section_headers *this,Output_file *of)" identifier (ERROR ">" >) (parameter_list "(Output_section_headers *this,Output_file *of)" ( (parameter_declaration "Output_section_headers *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) { primitive_type) identifier ;) (declaration "Output_file *pOVar2;" type_identifier (pointer_declarator "*pOVar2" * identifier) ;) (declaration "_func_int_varargs **pp_Var3;" type_identifier (pointer_declarator "**pp_Var3" * (pointer_declarator "*pp_Var3" * identifier)) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "Stringpool *pSVar7;" type_identifier (pointer_declarator "*pSVar7" * identifier) ;) (declaration "Output_data *pOVar8;" type_identifier (pointer_declarator "*pOVar8" * identifier) ;) (declaration "uchar *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "Elf_Word EVar10;" type_identifier identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "Segment_list *pSVar11;" type_identifier (pointer_declarator "*pSVar11" * identifier) ;) (declaration "pointer ppOVar12;" type_identifier identifier ;) (declaration "Section_list *pSVar13;" type_identifier (pointer_declarator "*pSVar13" * identifier) ;) (expression_statement "Shdr_data<32> *pSVar14;" (update_expression "Shdr_data<32> *pSVar14" (binary_expression "Shdr_data<32> *pSVar14" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*pSVar14" * identifier)) --) ;) (expression_statement "Shdr_data<32> *extraout_v1_00;" (update_expression "Shdr_data<32> *extraout_v1_00" (binary_expression "Shdr_data<32> *extraout_v1_00" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*extraout_v1_00" * identifier)) --) ;) (declaration "Output_file *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Output_section *pOVar15;" type_identifier (pointer_declarator "*pOVar15" * identifier) ;) (declaration "Layout *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (declaration "Elf_WXword EVar16;" type_identifier identifier ;) (declaration "Layout *pLVar17;" type_identifier (pointer_declarator "*pLVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "Elf_WXword EVar19;" type_identifier identifier ;) (declaration "Output_file *in_a2;" type_identifier (pointer_declarator "*in_a2" * identifier) ;) (declaration "pointer ppOVar20;" type_identifier identifier ;) (declaration "Elf_Word EVar21;" type_identifier identifier ;) (expression_statement "Shdr_write<32,_false> *in_a3;" (update_expression "Shdr_write<32,_false> *in_a3" (binary_expression "Shdr_write<32,_false> *in_a3" (binary_expression "Shdr_write<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*in_a3" * identifier)) --) ;) (declaration "uint uVar22;" type_identifier identifier ;) (expression_statement "Shdr_data<32> *unaff_s0;" (update_expression "Shdr_data<32> *unaff_s0" (binary_expression "Shdr_data<32> *unaff_s0" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*unaff_s0" * identifier)) --) ;) (expression_statement "Shdr_data<32> *pSVar23;" (update_expression "Shdr_data<32> *pSVar23" (binary_expression "Shdr_data<32> *pSVar23" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*pSVar23" * identifier)) --) ;) (declaration "uchar *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "_func_int_varargs *p_Var25;" type_identifier (pointer_declarator "*p_Var25" * identifier) ;) (declaration "Output_segment *pOVar26;" type_identifier (pointer_declarator "*pOVar26" * identifier) ;) (declaration "pointer ppOVar27;" type_identifier identifier ;) (declaration "pointer *pppOVar28;" type_identifier (pointer_declarator "*pppOVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "_func_int_varargs *p_Var30;" type_identifier (pointer_declarator "*p_Var30" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffb4;" type_identifier identifier ;) (expression_statement "Shdr_write<32,_false> oshdr;" (update_expression "Shdr_write<32,_false> oshdr" (binary_expression "Shdr_write<32,_false> oshdr" (binary_expression "Shdr_write<32" identifier < number_literal) (ERROR ",_false" , identifier) > identifier) --) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "pointer local_30;" type_identifier identifier ;) (expression_statement "iVar31 = 0x43a1d0;" (assignment_expression "iVar31 = 0x43a1d0" identifier = number_literal) ;) (expression_statement "iVar1 = *(int *)&(this->super_Output_data).field_0x20;" (assignment_expression "iVar1 = *(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 "iVar32 = 0x43a1d0;" (assignment_expression "iVar32 = 0x43a1d0" identifier = number_literal) ;) (if_statement "if (iVar1 << 1 < 0) {\n    this_00 = *(Output_file **)&(this->super_Output_data).data_size_;\n    uVar4 = (uint)(this->super_Output_data).data_size_;\n    if (iVar1 << 2 < 0) {\n      in_a3 = *(Shdr_write<32,_false> **)&(this->super_Output_data).offset_;\n      iVar1 = (int)(this->super_Output_data).offset_;\n      if (-1 < (int)in_a3) {\n        uVar22 = uVar4 + iVar1;\n        in_a2 = *(Output_file **)&of->file_size_;\n        pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4));\n        in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2);\n        if (in_a3 == (Shdr_write<32,_false> *)0x0) {\n          pSVar14 = unaff_s0;\n          if (in_a2 == pOVar2) goto LAB_001a2000;\n          do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );\n        }\n      }\n      Output_file::get_output_view(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2);\n    }\nLAB_001a2020:\n    (**(code **)(iVar31 + -0x7e0c))\n              (*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0xe3,*(int *)(iVar31 + -0x7e1c) + 0x7818);\n  }" if (parenthesized_expression "(iVar1 << 1 < 0)" ( (binary_expression "iVar1 << 1 < 0" (binary_expression "iVar1 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n    this_00 = *(Output_file **)&(this->super_Output_data).data_size_;\n    uVar4 = (uint)(this->super_Output_data).data_size_;\n    if (iVar1 << 2 < 0) {\n      in_a3 = *(Shdr_write<32,_false> **)&(this->super_Output_data).offset_;\n      iVar1 = (int)(this->super_Output_data).offset_;\n      if (-1 < (int)in_a3) {\n        uVar22 = uVar4 + iVar1;\n        in_a2 = *(Output_file **)&of->file_size_;\n        pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4));\n        in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2);\n        if (in_a3 == (Shdr_write<32,_false> *)0x0) {\n          pSVar14 = unaff_s0;\n          if (in_a2 == pOVar2) goto LAB_001a2000;\n          do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );\n        }\n      }\n      Output_file::get_output_view(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2);\n    }\nLAB_001a2020:\n    (**(code **)(iVar31 + -0x7e0c))\n              (*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0xe3,*(int *)(iVar31 + -0x7e1c) + 0x7818);\n  }" { (expression_statement "this_00 = *(Output_file **)&(this->super_Output_data).data_size_;" (assignment_expression "this_00 = *(Output_file **)&(this->super_Output_data).data_size_" identifier = (pointer_expression "*(Output_file **)&(this->super_Output_data).data_size_" * (cast_expression "(Output_file **)&(this->super_Output_data).data_size_" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (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))))) ;) (expression_statement "uVar4 = (uint)(this->super_Output_data).data_size_;" (assignment_expression "uVar4 = (uint)(this->super_Output_data).data_size_" identifier = (field_expression "(uint)(this->super_Output_data).data_size_" (call_expression "(uint)(this->super_Output_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (iVar1 << 2 < 0) {\n      in_a3 = *(Shdr_write<32,_false> **)&(this->super_Output_data).offset_;\n      iVar1 = (int)(this->super_Output_data).offset_;\n      if (-1 < (int)in_a3) {\n        uVar22 = uVar4 + iVar1;\n        in_a2 = *(Output_file **)&of->file_size_;\n        pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4));\n        in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2);\n        if (in_a3 == (Shdr_write<32,_false> *)0x0) {\n          pSVar14 = unaff_s0;\n          if (in_a2 == pOVar2) goto LAB_001a2000;\n          do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );\n        }\n      }\n      Output_file::get_output_view(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2);\n    }" if (parenthesized_expression "(iVar1 << 2 < 0)" ( (binary_expression "iVar1 << 2 < 0" (binary_expression "iVar1 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      in_a3 = *(Shdr_write<32,_false> **)&(this->super_Output_data).offset_;\n      iVar1 = (int)(this->super_Output_data).offset_;\n      if (-1 < (int)in_a3) {\n        uVar22 = uVar4 + iVar1;\n        in_a2 = *(Output_file **)&of->file_size_;\n        pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4));\n        in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2);\n        if (in_a3 == (Shdr_write<32,_false> *)0x0) {\n          pSVar14 = unaff_s0;\n          if (in_a2 == pOVar2) goto LAB_001a2000;\n          do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );\n        }\n      }\n      Output_file::get_output_view(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2);\n    }" { (expression_statement "in_a3 = *(Shdr_write<32,_false> **)&(this->super_Output_data).offset_;" (assignment_expression "in_a3 = *(Shdr_write<32,_false> **)&(this->super_Output_data).offset_" identifier = (binary_expression "*(Shdr_write<32,_false> **)&(this->super_Output_data).offset_" (pointer_expression "*(Shdr_write<32,_false> **)" * (parenthesized_expression "(Shdr_write<32,_false> **)" ( (comma_expression "Shdr_write<32,_false> **" (binary_expression "Shdr_write<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) ))) & (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 "iVar1 = (int)(this->super_Output_data).offset_;" (assignment_expression "iVar1 = (int)(this->super_Output_data).offset_" identifier = (cast_expression "(int)(this->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Output_data).offset_" (parenthesized_expression "(this->super_Output_data)" ( (field_expression "this->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (-1 < (int)in_a3) {\n        uVar22 = uVar4 + iVar1;\n        in_a2 = *(Output_file **)&of->file_size_;\n        pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4));\n        in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2);\n        if (in_a3 == (Shdr_write<32,_false> *)0x0) {\n          pSVar14 = unaff_s0;\n          if (in_a2 == pOVar2) goto LAB_001a2000;\n          do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );\n        }\n      }" if (parenthesized_expression "(-1 < (int)in_a3)" ( (binary_expression "-1 < (int)in_a3" number_literal < (cast_expression "(int)in_a3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar22 = uVar4 + iVar1;\n        in_a2 = *(Output_file **)&of->file_size_;\n        pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4));\n        in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2);\n        if (in_a3 == (Shdr_write<32,_false> *)0x0) {\n          pSVar14 = unaff_s0;\n          if (in_a2 == pOVar2) goto LAB_001a2000;\n          do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );\n        }\n      }" { (expression_statement "uVar22 = uVar4 + iVar1;" (assignment_expression "uVar22 = uVar4 + iVar1" identifier = (binary_expression "uVar4 + iVar1" identifier + identifier)) ;) (expression_statement "in_a2 = *(Output_file **)&of->file_size_;" (assignment_expression "in_a2 = *(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 "pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4));" (assignment_expression "pOVar2 = (Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4))" identifier = (cast_expression "(Output_file *)((int)&in_a3->p_ + (uint)(uVar22 < uVar4))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_a3->p_ + (uint)(uVar22 < uVar4))" ( (binary_expression "(int)&in_a3->p_ + (uint)(uVar22 < uVar4)" (cast_expression "(int)&in_a3->p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_a3->p_" & (field_expression "in_a3->p_" identifier -> field_identifier))) + (call_expression "(uint)(uVar22 < uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar4)" ( (binary_expression "uVar22 < uVar4" identifier < identifier) )))) )))) ;) (expression_statement "in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2);" (assignment_expression "in_a3 = (Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2)" identifier = (call_expression "(Shdr_write<32,_false> *)(uint)((int)in_a2 < (int)pOVar2)" (call_expression "(Shdr_write<32,_false> *)(uint)" (parenthesized_expression "(Shdr_write<32,_false> *)" ( (comma_expression "Shdr_write<32,_false> *" (binary_expression "Shdr_write<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)in_a2 < (int)pOVar2)" ( (binary_expression "(int)in_a2 < (int)pOVar2" (cast_expression "(int)in_a2" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pOVar2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (in_a3 == (Shdr_write<32,_false> *)0x0) {\n          pSVar14 = unaff_s0;\n          if (in_a2 == pOVar2) goto LAB_001a2000;\n          do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );\n        }" if (parenthesized_expression "(in_a3 == (Shdr_write<32,_false> *)0x0)" ( (binary_expression "in_a3 == (Shdr_write<32,_false> *)0x0)" identifier == (parenthesized_expression "(Shdr_write<32,_false> *)0x0)" ( (comma_expression "Shdr_write<32,_false> *)0x0" (binary_expression "Shdr_write<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          pSVar14 = unaff_s0;\n          if (in_a2 == pOVar2) goto LAB_001a2000;\n          do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );\n        }" { (expression_statement "pSVar14 = unaff_s0;" (assignment_expression "pSVar14 = unaff_s0" identifier = identifier) ;) (if_statement "if (in_a2 == pOVar2) goto LAB_001a2000;" if (parenthesized_expression "(in_a2 == pOVar2)" ( (binary_expression "in_a2 == pOVar2" identifier == identifier) )) (goto_statement "goto LAB_001a2000;" goto statement_identifier ;)) (do_statement "do {\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          } while( true );" do (compound_statement "{\n            in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;\n            pcVar29 = *(code **)(iVar31 + -0x7208);\n            puVar24 = of->base_ + iVar1;\n            puVar24[0] = '\0';\n            puVar24[1] = '\0';\n            puVar24[2] = '\0';\n            puVar24[3] = '\0';\n            puVar24[4] = '\0';\n            puVar24[5] = '\0';\n            puVar24[6] = '\0';\n            puVar24[7] = '\0';\n            puVar24[8] = '\0';\n            puVar24[9] = '\0';\n            puVar24[10] = '\0';\n            puVar24[0xb] = '\0';\n            puVar24[0xc] = '\0';\n            puVar24[0xd] = '\0';\n            puVar24[0xe] = '\0';\n            puVar24[0xf] = '\0';\n            puVar24[0x10] = '\0';\n            puVar24[0x11] = '\0';\n            puVar24[0x12] = '\0';\n            puVar24[0x13] = '\0';\n            iVar31 = iVar32;\n            (*pcVar29)();\n            iVar32 = iVar31;\n            if (extraout_v1 < 0xff00) goto LAB_001a1d54;\n            pOVar15 = this->shstrtab_section_;\n            p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;\n            *(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n            p_Var30 = pp_Var3[0xb];\n            if (p_Var30 != p_Var25) goto LAB_001a1d74;\nLAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;\n            if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }\njoined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            uVar4 = iVar5 >> 2;\n            if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }\n            local_34 = *(int **)(iVar31 + -0x75f0);\n            *(int *)(puVar24 + 0x1c) = iVar5;\n            puVar24[0x20] = '\0';\n            puVar24[0x21] = '\0';\n            puVar24[0x22] = '\0';\n            puVar24[0x23] = '\0';\n            iVar5 = *local_34;\n            puVar24[0x24] = '\0';\n            puVar24[0x25] = '\0';\n            puVar24[0x26] = '\0';\n            puVar24[0x27] = '\0';\n            unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);\n            if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }\n            if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }\n            pSVar13 = this->section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;\n            puVar24 = (uchar *)0x1;\n            pSVar14 = unaff_s0;\n            do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);\nLAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;\n            ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;\n            if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }\n            pSVar14 = unaff_s0;\n            while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }\n            iVar5 = *(int *)(iVar31 + -0x7e1c);\n            unaff_s0 = pSVar14;\n            if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }\nLAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;\n            in_a2 = (Output_file *)(iVar5 + 0x78cc);\n            this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);\n            (**(code **)(iVar31 + -0x7e0c))();\nLAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);\n            pSVar14 = unaff_s0;\n            if (uVar22 != 0) break;\n          }" { (expression_statement "in_a3 = (Shdr_write<32,_false> *)&DAT_00000028;" (assignment_expression "in_a3 = (Shdr_write<32,_false> *)&DAT_00000028" identifier = (binary_expression "(Shdr_write<32,_false> *)&DAT_00000028" (parenthesized_expression "(Shdr_write<32,_false> *)" ( (comma_expression "Shdr_write<32,_false> *" (binary_expression "Shdr_write<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;) (expression_statement "pcVar29 = *(code **)(iVar31 + -0x7208);" (assignment_expression "pcVar29 = *(code **)(iVar31 + -0x7208)" identifier = (pointer_expression "*(code **)(iVar31 + -0x7208)" * (cast_expression "(code **)(iVar31 + -0x7208)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7208)" ( (binary_expression "iVar31 + -0x7208" identifier + number_literal) ))))) ;) (expression_statement "puVar24 = of->base_ + iVar1;" (assignment_expression "puVar24 = of->base_ + iVar1" identifier = (binary_expression "of->base_ + iVar1" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (expression_statement "puVar24[0] = '\0';" (assignment_expression "puVar24[0] = '\0'" (subscript_expression "puVar24[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[1] = '\0';" (assignment_expression "puVar24[1] = '\0'" (subscript_expression "puVar24[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[2] = '\0';" (assignment_expression "puVar24[2] = '\0'" (subscript_expression "puVar24[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[3] = '\0';" (assignment_expression "puVar24[3] = '\0'" (subscript_expression "puVar24[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[4] = '\0';" (assignment_expression "puVar24[4] = '\0'" (subscript_expression "puVar24[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[5] = '\0';" (assignment_expression "puVar24[5] = '\0'" (subscript_expression "puVar24[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[6] = '\0';" (assignment_expression "puVar24[6] = '\0'" (subscript_expression "puVar24[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[7] = '\0';" (assignment_expression "puVar24[7] = '\0'" (subscript_expression "puVar24[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[8] = '\0';" (assignment_expression "puVar24[8] = '\0'" (subscript_expression "puVar24[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[9] = '\0';" (assignment_expression "puVar24[9] = '\0'" (subscript_expression "puVar24[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[10] = '\0';" (assignment_expression "puVar24[10] = '\0'" (subscript_expression "puVar24[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0xb] = '\0';" (assignment_expression "puVar24[0xb] = '\0'" (subscript_expression "puVar24[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0xc] = '\0';" (assignment_expression "puVar24[0xc] = '\0'" (subscript_expression "puVar24[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0xd] = '\0';" (assignment_expression "puVar24[0xd] = '\0'" (subscript_expression "puVar24[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0xe] = '\0';" (assignment_expression "puVar24[0xe] = '\0'" (subscript_expression "puVar24[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0xf] = '\0';" (assignment_expression "puVar24[0xf] = '\0'" (subscript_expression "puVar24[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x10] = '\0';" (assignment_expression "puVar24[0x10] = '\0'" (subscript_expression "puVar24[0x10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x11] = '\0';" (assignment_expression "puVar24[0x11] = '\0'" (subscript_expression "puVar24[0x11]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x12] = '\0';" (assignment_expression "puVar24[0x12] = '\0'" (subscript_expression "puVar24[0x12]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x13] = '\0';" (assignment_expression "puVar24[0x13] = '\0'" (subscript_expression "puVar24[0x13]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar31 = iVar32;" (assignment_expression "iVar31 = iVar32" identifier = identifier) ;) (expression_statement "(*pcVar29)();" (call_expression "(*pcVar29)()" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar32 = iVar31;" (assignment_expression "iVar32 = iVar31" identifier = identifier) ;) (if_statement "if (extraout_v1 < 0xff00) goto LAB_001a1d54;" if (parenthesized_expression "(extraout_v1 < 0xff00)" ( (binary_expression "extraout_v1 < 0xff00" identifier < number_literal) )) (goto_statement "goto LAB_001a1d54;" goto statement_identifier ;)) (expression_statement "pOVar15 = this->shstrtab_section_;" (assignment_expression "pOVar15 = this->shstrtab_section_" identifier = (field_expression "this->shstrtab_section_" identifier -> field_identifier)) ;) (expression_statement "p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);" (assignment_expression "p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc)" identifier = (pointer_expression "*(_func_int_varargs **)(iVar31 + -0x72cc)" * (cast_expression "(_func_int_varargs **)(iVar31 + -0x72cc)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x72cc)" ( (binary_expression "iVar31 + -0x72cc" identifier + number_literal) ))))) ;) (expression_statement "pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;" (assignment_expression "pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data" identifier = (field_expression "(pOVar15->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar15->super_Output_data)" ( (field_expression "pOVar15->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar24 + 0x14) =\n                 (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar24 + 0x14)" * (cast_expression "(uint *)(puVar24 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x14)" ( (binary_expression "puVar24 + 0x14" identifier + number_literal) )))) = (binary_expression "(((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                 ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10)" ( (binary_expression "(extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10" (binary_expression "(extraout_v1 >> 0x10) << 0x18" (parenthesized_expression "(extraout_v1 >> 0x10)" ( (binary_expression "extraout_v1 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(extraout_v1 >> 0x18) << 0x10" (parenthesized_expression "(extraout_v1 >> 0x18)" ( (binary_expression "extraout_v1 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff)" ( (binary_expression "(extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff" (binary_expression "(extraout_v1 & 0xff) << 8" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "extraout_v1 >> 8 & 0xff" (binary_expression "extraout_v1 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "p_Var30 = pp_Var3[0xb];" (assignment_expression "p_Var30 = pp_Var3[0xb]" identifier = (subscript_expression "pp_Var3[0xb]" identifier [ number_literal ])) ;) (if_statement "if (p_Var30 != p_Var25) goto LAB_001a1d74;" if (parenthesized_expression "(p_Var30 != p_Var25)" ( (binary_expression "p_Var30 != p_Var25" identifier != identifier) )) (goto_statement "goto LAB_001a1d74;" goto statement_identifier ;)) (labeled_statement "LAB_001a1bc4:\n            uVar4 = pOVar15->out_shndx_;" statement_identifier : (expression_statement "uVar4 = pOVar15->out_shndx_;" (assignment_expression "uVar4 = pOVar15->out_shndx_" identifier = (field_expression "pOVar15->out_shndx_" identifier -> field_identifier)) ;)) (if_statement "if (uVar4 == 0xffffffff) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }" if (parenthesized_expression "(uVar4 == 0xffffffff)" ( (binary_expression "uVar4 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fa0;\n            }" { (expression_statement "iVar5 = *(int *)(iVar31 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(iVar31 + -0x7e1c)" identifier = (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;) })) (labeled_statement "joined_r0x001a1bd8:\n            if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }" statement_identifier : (if_statement "if (uVar4 < 0xff00) {\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }\n            else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }" if (parenthesized_expression "(uVar4 < 0xff00)" ( (binary_expression "uVar4 < 0xff00" identifier < number_literal) )) (compound_statement "{\n              pSVar11 = this->segment_list_;\n              puVar24[0x18] = '\0';\n              puVar24[0x19] = '\0';\n              puVar24[0x1a] = '\0';\n              puVar24[0x1b] = '\0';\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }" { (expression_statement "pSVar11 = this->segment_list_;" (assignment_expression "pSVar11 = this->segment_list_" identifier = (field_expression "this->segment_list_" identifier -> field_identifier)) ;) (expression_statement "puVar24[0x18] = '\0';" (assignment_expression "puVar24[0x18] = '\0'" (subscript_expression "puVar24[0x18]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x19] = '\0';" (assignment_expression "puVar24[0x19] = '\0'" (subscript_expression "puVar24[0x19]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x1a] = '\0';" (assignment_expression "puVar24[0x1a] = '\0'" (subscript_expression "puVar24[0x1a]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x1b] = '\0';" (assignment_expression "puVar24[0x1b] = '\0'" (subscript_expression "puVar24[0x1b]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;" (assignment_expression "local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start" identifier = (field_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start" (field_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl" (parenthesized_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )" ( (ERROR "pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::" (comma_expression "pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std" (binary_expression "pSVar11->\n                         super__Vector_base<gold::Output_segment*" (binary_expression "pSVar11->\n                         super__Vector_base<gold" (field_expression "pSVar11->\n                         super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_segment" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_segment*>_>" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;" (assignment_expression "ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish" identifier = (field_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish" (field_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl" (parenthesized_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )" ( (ERROR "pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::" (comma_expression "pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std" (binary_expression "pSVar11->\n                         super__Vector_base<gold::Output_segment*" (binary_expression "pSVar11->\n                         super__Vector_base<gold" (field_expression "pSVar11->\n                         super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_segment" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_segment*>_>" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "iVar5 = (int)ppOVar20 - (int)local_30;" (assignment_expression "iVar5 = (int)ppOVar20 - (int)local_30" identifier = (binary_expression "(int)ppOVar20 - (int)local_30" (cast_expression "(int)ppOVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }" else (compound_statement "{\n              pSVar11 = this->segment_list_;\n              local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;\n              ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;\n              *(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n              iVar5 = (int)ppOVar20 - (int)local_30;\n            }" { (expression_statement "pSVar11 = this->segment_list_;" (assignment_expression "pSVar11 = this->segment_list_" identifier = (field_expression "this->segment_list_" identifier -> field_identifier)) ;) (expression_statement "local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start;" (assignment_expression "local_30 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start" identifier = (field_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_start" (field_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl" (parenthesized_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )" ( (ERROR "pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::" (comma_expression "pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std" (binary_expression "pSVar11->\n                         super__Vector_base<gold::Output_segment*" (binary_expression "pSVar11->\n                         super__Vector_base<gold" (field_expression "pSVar11->\n                         super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_segment" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_segment*>_>" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish;" (assignment_expression "ppOVar20 = (pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish" identifier = (field_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl._M_finish" (field_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )._M_impl" (parenthesized_expression "(pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>\n                         )" ( (ERROR "pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std::allocator<gold::" (comma_expression "pSVar11->\n                         super__Vector_base<gold::Output_segment*,_std" (binary_expression "pSVar11->\n                         super__Vector_base<gold::Output_segment*" (binary_expression "pSVar11->\n                         super__Vector_base<gold" (field_expression "pSVar11->\n                         super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_segment" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_segment*>_>" (binary_expression "Output_segment*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "*(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar24 + 0x18) =\n                   (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar24 + 0x18)" * (cast_expression "(uint *)(puVar24 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x18)" ( (binary_expression "puVar24 + 0x18" identifier + number_literal) )))) = (binary_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10)" ( (binary_expression "(uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10" (binary_expression "(uVar4 >> 0x10) << 0x18" (parenthesized_expression "(uVar4 >> 0x10)" ( (binary_expression "uVar4 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar4 >> 0x18) << 0x10" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff)" ( (binary_expression "(uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff" (binary_expression "(uVar4 & 0xff) << 8" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar5 = (int)ppOVar20 - (int)local_30;" (assignment_expression "iVar5 = (int)ppOVar20 - (int)local_30" identifier = (binary_expression "(int)ppOVar20 - (int)local_30" (cast_expression "(int)ppOVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })))) (expression_statement "uVar4 = iVar5 >> 2;" (assignment_expression "uVar4 = iVar5 >> 2" identifier = (binary_expression "iVar5 >> 2" identifier >> number_literal)) ;) (if_statement "if (uVar4 < 0xffff) {\n              iVar5 = 0;\n            }\n            else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }" if (parenthesized_expression "(uVar4 < 0xffff)" ( (binary_expression "uVar4 < 0xffff" identifier < number_literal) )) (compound_statement "{\n              iVar5 = 0;\n            }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }" else (compound_statement "{\n              iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;\n            }" { (expression_statement "iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar5 = (((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10)" ( (binary_expression "(uVar4 >> 0x10) << 0x18 | (uVar4 >> 0x18) << 0x10" (binary_expression "(uVar4 >> 0x10) << 0x18" (parenthesized_expression "(uVar4 >> 0x10)" ( (binary_expression "uVar4 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar4 >> 0x18) << 0x10" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff)" ( (binary_expression "(uVar4 & 0xff) << 8 | uVar4 >> 8 & 0xff" (binary_expression "(uVar4 & 0xff) << 8" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }))) (expression_statement "local_34 = *(int **)(iVar31 + -0x75f0);" (assignment_expression "local_34 = *(int **)(iVar31 + -0x75f0)" identifier = (pointer_expression "*(int **)(iVar31 + -0x75f0)" * (cast_expression "(int **)(iVar31 + -0x75f0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x75f0)" ( (binary_expression "iVar31 + -0x75f0" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar24 + 0x1c) = iVar5;" (assignment_expression "*(int *)(puVar24 + 0x1c) = iVar5" (pointer_expression "*(int *)(puVar24 + 0x1c)" * (cast_expression "(int *)(puVar24 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1c)" ( (binary_expression "puVar24 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar24[0x20] = '\0';" (assignment_expression "puVar24[0x20] = '\0'" (subscript_expression "puVar24[0x20]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x21] = '\0';" (assignment_expression "puVar24[0x21] = '\0'" (subscript_expression "puVar24[0x21]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x22] = '\0';" (assignment_expression "puVar24[0x22] = '\0'" (subscript_expression "puVar24[0x22]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x23] = '\0';" (assignment_expression "puVar24[0x23] = '\0'" (subscript_expression "puVar24[0x23]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar5 = *local_34;" (assignment_expression "iVar5 = *local_34" identifier = (pointer_expression "*local_34" * identifier)) ;) (expression_statement "puVar24[0x24] = '\0';" (assignment_expression "puVar24[0x24] = '\0'" (subscript_expression "puVar24[0x24]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x25] = '\0';" (assignment_expression "puVar24[0x25] = '\0'" (subscript_expression "puVar24[0x25]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x26] = '\0';" (assignment_expression "puVar24[0x26] = '\0'" (subscript_expression "puVar24[0x26]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x27] = '\0';" (assignment_expression "puVar24[0x27] = '\0'" (subscript_expression "puVar24[0x27]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28);" (assignment_expression "unaff_s0 = (Shdr_data<32> *)(puVar24 + 0x28)" identifier = (call_expression "(Shdr_data<32> *)(puVar24 + 0x28)" (parenthesized_expression "(Shdr_data<32> *)" ( (binary_expression "Shdr_data<32> *" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(puVar24 + 0x28)" ( (binary_expression "puVar24 + 0x28" identifier + number_literal) )))) ;) (if_statement "if (*(int *)(iVar5 + 8) == 0) {\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }" if (parenthesized_expression "(*(int *)(iVar5 + 8) == 0)" ( (binary_expression "*(int *)(iVar5 + 8) == 0" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              iVar5 = *(int *)(iVar31 + -0x7e1c);\n              goto LAB_001a1fe8;\n            }" { (expression_statement "iVar5 = *(int *)(iVar31 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(iVar31 + -0x7e1c)" identifier = (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001a1fe8;" goto statement_identifier ;) })) (if_statement "if (*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0') {\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }" if (parenthesized_expression "(*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0')" ( (binary_expression "*(char *)(*(int *)(iVar5 + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(iVar5 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(iVar5 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 8) + 0x3195)" ( (binary_expression "*(int *)(iVar5 + 8) + 0x3195" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              pcVar29 = *(code **)(iVar31 + -0x5784);\n              if (local_30 == ppOVar20) goto LAB_001a1fb8;\n              puVar24 = (uchar *)0x1;\nLAB_001a1c60:\n              pOVar26 = *local_30;\n              if (pOVar26->type_ != 1) goto LAB_001a1dd0;\n              uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;\n              pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;\n              pSVar7 = this->secnamepool_;\n              while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }\n              pOVar8 = *ppOVar12;\n              pSVar14 = unaff_s0;\n              iVar31 = iVar32;\n              while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }\n              pOVar8 = *ppOVar12;\n              if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }\n              iVar32 = iVar31;\n              (**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);\nLAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;\n              p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);\n              puVar24[0x14] = '\0';\n              puVar24[0x15] = '\0';\n              puVar24[0x16] = '\0';\n              puVar24[0x17] = '\0';\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n              if (p_Var30 != p_Var25) goto LAB_001a1d74;\n              goto LAB_001a1bc4;\n            }" { (expression_statement "pcVar29 = *(code **)(iVar31 + -0x5784);" (assignment_expression "pcVar29 = *(code **)(iVar31 + -0x5784)" identifier = (pointer_expression "*(code **)(iVar31 + -0x5784)" * (cast_expression "(code **)(iVar31 + -0x5784)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x5784)" ( (binary_expression "iVar31 + -0x5784" identifier + number_literal) ))))) ;) (if_statement "if (local_30 == ppOVar20) goto LAB_001a1fb8;" if (parenthesized_expression "(local_30 == ppOVar20)" ( (binary_expression "local_30 == ppOVar20" identifier == identifier) )) (goto_statement "goto LAB_001a1fb8;" goto statement_identifier ;)) (expression_statement "puVar24 = (uchar *)0x1;" (assignment_expression "puVar24 = (uchar *)0x1" identifier = (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_001a1c60:\n              pOVar26 = *local_30;" statement_identifier : (expression_statement "pOVar26 = *local_30;" (assignment_expression "pOVar26 = *local_30" identifier = (pointer_expression "*local_30" * identifier)) ;)) (if_statement "if (pOVar26->type_ != 1) goto LAB_001a1dd0;" if (parenthesized_expression "(pOVar26->type_ != 1)" ( (binary_expression "pOVar26->type_ != 1" (field_expression "pOVar26->type_" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_001a1dd0;" goto statement_identifier ;)) (expression_statement "uVar6 = *(undefined4 *)&(this->super_Output_data).field_0x24;" (assignment_expression "uVar6 = *(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 "*" *)) ) (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 "pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish;" (field_expression "pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl._M_finish" (field_expression "pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                           ._M_impl" (binary_expression "pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold::Output_data*,_std" (assignment_expression "pppOVar28 = &pOVar26->output_lists_[0].\n                           super__Vector_base<gold" identifier = (binary_expression "&pOVar26->output_lists_[0].\n                           super__Vector_base<gold" (pointer_expression "&pOVar26->output_lists_[0].\n                           super__Vector_base" & (field_expression "pOVar26->output_lists_[0].\n                           super__Vector_base" (subscript_expression "pOVar26->output_lists_[0]" (field_expression "pOVar26->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pSVar7 = this->secnamepool_;" (assignment_expression "pSVar7 = this->secnamepool_" identifier = (field_expression "this->secnamepool_" identifier -> field_identifier)) ;) (while_statement "while (ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    ) {\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }" while (parenthesized_expression "(ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12\n                    )" ( (comma_expression "ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start, *pppOVar28 == ppOVar12" (assignment_expression "ppOVar12 = ((_Vector_impl *)(pppOVar28 + -1))->_M_start" identifier = (field_expression "((_Vector_impl *)(pppOVar28 + -1))->_M_start" (parenthesized_expression "((_Vector_impl *)(pppOVar28 + -1))" ( (cast_expression "(_Vector_impl *)(pppOVar28 + -1)" ( (type_descriptor "_Vector_impl *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppOVar28 + -1)" ( (binary_expression "pppOVar28 + -1" identifier + number_literal) ))) )) -> field_identifier)) , (binary_expression "*pppOVar28 == ppOVar12" (pointer_expression "*pppOVar28" * identifier) == identifier)) )) (compound_statement "{\nLAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;\n                if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;\n              }" { (labeled_statement "LAB_001a1dc0:\n                pppOVar28 = pppOVar28 + 3;" statement_identifier : (expression_statement "pppOVar28 = pppOVar28 + 3;" (assignment_expression "pppOVar28 = pppOVar28 + 3" identifier = (binary_expression "pppOVar28 + 3" identifier + number_literal)) ;)) (if_statement "if ((pointer *)&pOVar26->vaddr_ == pppOVar28) goto code_r0x001a1dcc;" if (parenthesized_expression "((pointer *)&pOVar26->vaddr_ == pppOVar28)" ( (binary_expression "(pointer *)&pOVar26->vaddr_ == pppOVar28" (cast_expression "(pointer *)&pOVar26->vaddr_" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar26->vaddr_" & (field_expression "pOVar26->vaddr_" identifier -> field_identifier))) == identifier) )) (goto_statement "goto code_r0x001a1dcc;" goto statement_identifier ;)) })) (expression_statement "pOVar8 = *ppOVar12;" (assignment_expression "pOVar8 = *ppOVar12" identifier = (pointer_expression "*ppOVar12" * identifier)) ;) (expression_statement "pSVar14 = unaff_s0;" (assignment_expression "pSVar14 = unaff_s0" identifier = identifier) ;) (expression_statement "iVar31 = iVar32;" (assignment_expression "iVar31 = iVar32" identifier = identifier) ;) (while_statement "while (iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0) {\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }" while (parenthesized_expression "(iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0)" ( (comma_expression "iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = pSVar14,\n                    iVar32 == 0" (assignment_expression "iVar32 = (*pOVar8->_vptr_Output_data[6])(pOVar8)" identifier = (call_expression "(*pOVar8->_vptr_Output_data[6])(pOVar8)" (parenthesized_expression "(*pOVar8->_vptr_Output_data[6])" ( (pointer_expression "*pOVar8->_vptr_Output_data[6]" * (subscript_expression "pOVar8->_vptr_Output_data[6]" (field_expression "pOVar8->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar8)" ( identifier )))) , (comma_expression "unaff_s0 = pSVar14,\n                    iVar32 == 0" (assignment_expression "unaff_s0 = pSVar14" identifier = identifier) , (binary_expression "iVar32 == 0" identifier == number_literal))) )) (compound_statement "{\nLAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;\n                iVar32 = iVar31;\n                if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;\n                pOVar8 = *ppOVar12;\n                pSVar14 = unaff_s0;\n              }" { (labeled_statement "LAB_001a1ce4:\n                ppOVar12 = ppOVar12 + 1;" statement_identifier : (expression_statement "ppOVar12 = ppOVar12 + 1;" (assignment_expression "ppOVar12 = ppOVar12 + 1" identifier = (binary_expression "ppOVar12 + 1" identifier + number_literal)) ;)) (expression_statement "iVar32 = iVar31;" (assignment_expression "iVar32 = iVar31" identifier = identifier) ;) (if_statement "if (*pppOVar28 == ppOVar12) goto LAB_001a1dc0;" if (parenthesized_expression "(*pppOVar28 == ppOVar12)" ( (binary_expression "*pppOVar28 == ppOVar12" (pointer_expression "*pppOVar28" * identifier) == identifier) )) (goto_statement "goto LAB_001a1dc0;" goto statement_identifier ;)) (expression_statement "pOVar8 = *ppOVar12;" (assignment_expression "pOVar8 = *ppOVar12" identifier = (pointer_expression "*ppOVar12" * identifier)) ;) (expression_statement "pSVar14 = unaff_s0;" (assignment_expression "pSVar14 = unaff_s0" identifier = identifier) ;) })) (expression_statement "pOVar8 = *ppOVar12;" (assignment_expression "pOVar8 = *ppOVar12" identifier = (pointer_expression "*ppOVar12" * identifier)) ;) (if_statement "if (pOVar8->_vptr_Output_data[0xb] == p_Var25) {\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }\n              else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }" if (parenthesized_expression "(pOVar8->_vptr_Output_data[0xb] == p_Var25)" ( (binary_expression "pOVar8->_vptr_Output_data[0xb] == p_Var25" (subscript_expression "pOVar8->_vptr_Output_data[0xb]" (field_expression "pOVar8->_vptr_Output_data" identifier -> field_identifier) [ number_literal ]) == identifier) )) (compound_statement "{\n                puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                iVar32 = iVar31;\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == puVar24) goto LAB_001a1cbc;\n              }" { (expression_statement "puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4);" (assignment_expression "puVar9 = *(uchar **)((int)&pOVar8[2].data_size_ + 4)" identifier = (pointer_expression "*(uchar **)((int)&pOVar8[2].data_size_ + 4)" * (cast_expression "(uchar **)((int)&pOVar8[2].data_size_ + 4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pOVar8[2].data_size_ + 4)" ( (binary_expression "(int)&pOVar8[2].data_size_ + 4" (cast_expression "(int)&pOVar8[2].data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar8[2].data_size_" & (field_expression "pOVar8[2].data_size_" (subscript_expression "pOVar8[2]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar31 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(iVar31 + -0x7e1c)" identifier = (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = iVar31;" (assignment_expression "iVar32 = iVar31" identifier = identifier) ;) (if_statement "if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;" if (parenthesized_expression "(puVar9 == (uchar *)0xffffffff)" ( (binary_expression "puVar9 == (uchar *)0xffffffff" identifier == (cast_expression "(uchar *)0xffffffff" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(iVar31 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(iVar31 + -0x7e1c)" identifier = (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (puVar9 == puVar24) goto LAB_001a1cbc;" if (parenthesized_expression "(puVar9 == puVar24)" ( (binary_expression "puVar9 == puVar24" identifier == identifier) )) (goto_statement "goto LAB_001a1cbc;" goto statement_identifier ;)) }) (else_clause "else {\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }" else (compound_statement "{\n                puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);\n                if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n              }" { (expression_statement "puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);" (assignment_expression "puVar9 = (uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8)" identifier = (cast_expression "(uchar *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pOVar8->_vptr_Output_data[0xb])(pOVar8)" (parenthesized_expression "(*pOVar8->_vptr_Output_data[0xb])" ( (pointer_expression "*pOVar8->_vptr_Output_data[0xb]" * (subscript_expression "pOVar8->_vptr_Output_data[0xb]" (field_expression "pOVar8->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar8)" ( identifier ))))) ;) (if_statement "if (puVar9 == puVar24) {\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }" if (parenthesized_expression "(puVar9 == puVar24)" ( (binary_expression "puVar9 == puVar24" identifier == identifier) )) (compound_statement "{\nLAB_001a1cbc:\n                  puVar24 = puVar24 + 1;\n                  unaff_s0 = pSVar14 + 1;\n                  in_a3 = &oshdr;\n                  oshdr.p_ = pSVar14;\n                  (*pcVar29)(pOVar8,uVar6,pSVar7);\n                  goto LAB_001a1ce4;\n                }" { (labeled_statement "LAB_001a1cbc:\n                  puVar24 = puVar24 + 1;" statement_identifier : (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;)) (expression_statement "unaff_s0 = pSVar14 + 1;" (assignment_expression "unaff_s0 = pSVar14 + 1" identifier = (binary_expression "pSVar14 + 1" identifier + number_literal)) ;) (expression_statement "in_a3 = &oshdr;" (assignment_expression "in_a3 = &oshdr" identifier = (pointer_expression "&oshdr" & identifier)) ;) (expression_statement "oshdr.p_ = pSVar14;" (assignment_expression "oshdr.p_ = pSVar14" (field_expression "oshdr.p_" identifier . field_identifier) = identifier) ;) (expression_statement "(*pcVar29)(pOVar8,uVar6,pSVar7);" (call_expression "(*pcVar29)(pOVar8,uVar6,pSVar7)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(pOVar8,uVar6,pSVar7)" ( identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_001a1ce4;" goto statement_identifier ;) })) (expression_statement "iVar5 = *(int *)(iVar31 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(iVar31 + -0x7e1c)" identifier = (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar32 = iVar31;" (assignment_expression "iVar32 = iVar31" identifier = identifier) ;) (expression_statement "(**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878);" (call_expression "(**(code **)(iVar31 + -0x7e0c))\n                        (*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878)" (parenthesized_expression "(**(code **)(iVar31 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar31 + -0x7e0c)" * (pointer_expression "*(code **)(iVar31 + -0x7e0c)" * (cast_expression "(code **)(iVar31 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7e0c)" ( (binary_expression "iVar31 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar31 + -0x7e1c) + 0x59f0,0x1354,iVar5 + 0x7878)" ( (binary_expression "*(int *)(iVar31 + -0x7e1c) + 0x59f0" (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar5 + 0x7878" identifier + number_literal) ))) ;) (labeled_statement "LAB_001a1d54:\n              pOVar15 = this->shstrtab_section_;" statement_identifier : (expression_statement "pOVar15 = this->shstrtab_section_;" (assignment_expression "pOVar15 = this->shstrtab_section_" identifier = (field_expression "this->shstrtab_section_" identifier -> field_identifier)) ;)) (expression_statement "p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc);" (assignment_expression "p_Var25 = *(_func_int_varargs **)(iVar31 + -0x72cc)" identifier = (pointer_expression "*(_func_int_varargs **)(iVar31 + -0x72cc)" * (cast_expression "(_func_int_varargs **)(iVar31 + -0x72cc)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x72cc)" ( (binary_expression "iVar31 + -0x72cc" identifier + number_literal) ))))) ;) (expression_statement "puVar24[0x14] = '\0';" (assignment_expression "puVar24[0x14] = '\0'" (subscript_expression "puVar24[0x14]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x15] = '\0';" (assignment_expression "puVar24[0x15] = '\0'" (subscript_expression "puVar24[0x15]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x16] = '\0';" (assignment_expression "puVar24[0x16] = '\0'" (subscript_expression "puVar24[0x16]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar24[0x17] = '\0';" (assignment_expression "puVar24[0x17] = '\0'" (subscript_expression "puVar24[0x17]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];" (assignment_expression "p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb]" identifier = (subscript_expression "(pOVar15->super_Output_data)._vptr_Output_data[0xb]" (field_expression "(pOVar15->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar15->super_Output_data)" ( (field_expression "pOVar15->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var30 != p_Var25) goto LAB_001a1d74;" if (parenthesized_expression "(p_Var30 != p_Var25)" ( (binary_expression "p_Var30 != p_Var25" identifier != identifier) )) (goto_statement "goto LAB_001a1d74;" goto statement_identifier ;)) (goto_statement "goto LAB_001a1bc4;" goto statement_identifier ;) })) (expression_statement "pSVar13 = this->section_list_;" (assignment_expression "pSVar13 = this->section_list_" identifier = (field_expression "this->section_list_" identifier -> field_identifier)) ;) (expression_statement "ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;" (assignment_expression "ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start" identifier = (field_expression "(pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start" (field_expression "(pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl" (parenthesized_expression "(pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )" ( (ERROR "pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::" (comma_expression "pSVar13->\n                       super__Vector_base<gold::Output_section*,_std" (binary_expression "pSVar13->\n                       super__Vector_base<gold::Output_section*" (binary_expression "pSVar13->\n                       super__Vector_base<gold" (field_expression "pSVar13->\n                       super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_section*>_>" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27) goto LAB_001a1fb8;" if (parenthesized_expression "((pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27)" ( (binary_expression "(pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish == ppOVar27" (field_expression "(pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish" (field_expression "(pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl" (parenthesized_expression "(pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)" ( (binary_expression "pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>" (binary_expression "pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pSVar13->\n                super__Vector_base<gold::Output_section*,_std" (binary_expression "pSVar13->\n                super__Vector_base<gold" (field_expression "pSVar13->\n                super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) == identifier) )) (goto_statement "goto LAB_001a1fb8;" goto statement_identifier ;)) (expression_statement "puVar24 = (uchar *)0x1;" (assignment_expression "puVar24 = (uchar *)0x1" identifier = (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar14 = unaff_s0;" (assignment_expression "pSVar14 = unaff_s0" identifier = identifier) ;) (do_statement "do {\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            } while ((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27);" do (compound_statement "{\n              pOVar15 = *ppOVar27;\n              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = unaff_s0;\n            }" { (expression_statement "pOVar15 = *ppOVar27;" (assignment_expression "pOVar15 = *ppOVar27" identifier = (pointer_expression "*ppOVar27" * identifier)) ;) (if_statement "if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)) {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }" if (parenthesized_expression "(((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11))" ( (binary_expression "((pOVar15->flags_ & 2) != 0) || (unaff_s0 = pSVar14, pOVar15->type_ == 0x11)" (parenthesized_expression "((pOVar15->flags_ & 2) != 0)" ( (binary_expression "(pOVar15->flags_ & 2) != 0" (parenthesized_expression "(pOVar15->flags_ & 2)" ( (binary_expression "pOVar15->flags_ & 2" (field_expression "pOVar15->flags_" identifier -> field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(unaff_s0 = pSVar14, pOVar15->type_ == 0x11)" ( (comma_expression "unaff_s0 = pSVar14, pOVar15->type_ == 0x11" (assignment_expression "unaff_s0 = pSVar14" identifier = identifier) , (binary_expression "pOVar15->type_ == 0x11" (field_expression "pOVar15->type_" identifier -> field_identifier) == number_literal)) ))) )) (compound_statement "{\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }\n                if (puVar9 != puVar24) goto LAB_001a1fdc;\n                puVar24 = puVar24 + 1;\n                unaff_s0 = pSVar14 + 1;\n                in_a3 = &oshdr;\n                iVar31 = iVar32;\n                oshdr.p_ = pSVar14;\n                Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);\n                pSVar13 = this->section_list_;\n                iVar32 = iVar31;\n              }" { (expression_statement "p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];" (assignment_expression "p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb]" identifier = (subscript_expression "(pOVar15->super_Output_data)._vptr_Output_data[0xb]" (field_expression "(pOVar15->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar15->super_Output_data)" ( (field_expression "pOVar15->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var30 == p_Var25) {\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }\n                else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }" if (parenthesized_expression "(p_Var30 == p_Var25)" ( (binary_expression "p_Var30 == p_Var25" identifier == identifier) )) (compound_statement "{\n                  puVar9 = (uchar *)pOVar15->out_shndx_;\n                  iVar5 = *(int *)(iVar31 + -0x7e1c);\n                  if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n                }" { (expression_statement "puVar9 = (uchar *)pOVar15->out_shndx_;" (assignment_expression "puVar9 = (uchar *)pOVar15->out_shndx_" identifier = (cast_expression "(uchar *)pOVar15->out_shndx_" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar15->out_shndx_" identifier -> field_identifier))) ;) (expression_statement "iVar5 = *(int *)(iVar31 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(iVar31 + -0x7e1c)" identifier = (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;" if (parenthesized_expression "(puVar9 == (uchar *)0xffffffff)" ( (binary_expression "puVar9 == (uchar *)0xffffffff" identifier == (cast_expression "(uchar *)0xffffffff" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;)) }) (else_clause "else {\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }" else (compound_statement "{\n                  iVar31 = iVar32;\n                  puVar9 = (uchar *)(*p_Var30)();\n                  iVar32 = iVar31;\n                }" { (expression_statement "iVar31 = iVar32;" (assignment_expression "iVar31 = iVar32" identifier = identifier) ;) (expression_statement "puVar9 = (uchar *)(*p_Var30)();" (assignment_expression "puVar9 = (uchar *)(*p_Var30)()" identifier = (cast_expression "(uchar *)(*p_Var30)()" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var30)()" (parenthesized_expression "(*p_Var30)" ( (pointer_expression "*p_Var30" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar32 = iVar31;" (assignment_expression "iVar32 = iVar31" identifier = identifier) ;) }))) (if_statement "if (puVar9 != puVar24) goto LAB_001a1fdc;" if (parenthesized_expression "(puVar9 != puVar24)" ( (binary_expression "puVar9 != puVar24" identifier != identifier) )) (goto_statement "goto LAB_001a1fdc;" goto statement_identifier ;)) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s0 = pSVar14 + 1;" (assignment_expression "unaff_s0 = pSVar14 + 1" identifier = (binary_expression "pSVar14 + 1" identifier + number_literal)) ;) (expression_statement "in_a3 = &oshdr;" (assignment_expression "in_a3 = &oshdr" identifier = (pointer_expression "&oshdr" & identifier)) ;) (expression_statement "iVar31 = iVar32;" (assignment_expression "iVar31 = iVar32" identifier = identifier) ;) (expression_statement "oshdr.p_ = pSVar14;" (assignment_expression "oshdr.p_ = pSVar14" (field_expression "oshdr.p_" identifier . field_identifier) = identifier) ;) (labeled_statement "Output_section::write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);" statement_identifier : (ERROR ":" :) (expression_statement "write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr);" (comma_expression "write_header<32,_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr)" (binary_expression "write_header<32" identifier < number_literal) , (binary_expression "_false>\n                          (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr)" identifier > (parenthesized_expression "(*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr)" ( (comma_expression "*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr" (pointer_expression "*ppOVar27" * identifier) , (comma_expression "*(Layout **)&(this->super_Output_data).field_0x24,\n                           this->secnamepool_,&oshdr" (pointer_expression "*(Layout **)&(this->super_Output_data).field_0x24" * (cast_expression "(Layout **)&(this->super_Output_data).field_0x24" ( (type_descriptor "Layout **" 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)))) , (comma_expression "this->secnamepool_,&oshdr" (field_expression "this->secnamepool_" identifier -> field_identifier) , (pointer_expression "&oshdr" & identifier)))) )))) ;)) (expression_statement "pSVar13 = this->section_list_;" (assignment_expression "pSVar13 = this->section_list_" identifier = (field_expression "this->section_list_" identifier -> field_identifier)) ;) (expression_statement "iVar32 = iVar31;" (assignment_expression "iVar32 = iVar31" identifier = identifier) ;) })) (expression_statement "ppOVar27 = ppOVar27 + 1;" (assignment_expression "ppOVar27 = ppOVar27 + 1" identifier = (binary_expression "ppOVar27 + 1" identifier + number_literal)) ;) (expression_statement "pSVar14 = unaff_s0;" (assignment_expression "pSVar14 = unaff_s0" identifier = identifier) ;) }) while (parenthesized_expression "((pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27)" ( (binary_expression "(pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish != ppOVar27" (field_expression "(pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl._M_finish" (field_expression "(pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )._M_impl" (parenthesized_expression "(pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     )" ( (binary_expression "pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>" (binary_expression "pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pSVar13->\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pSVar13->\n                     super__Vector_base<gold::Output_section*,_std" (binary_expression "pSVar13->\n                     super__Vector_base<gold" (field_expression "pSVar13->\n                     super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) != identifier) )) ;) (labeled_statement "LAB_001a1de0:\n            pSVar13 = this->unattached_section_list_;" statement_identifier : (expression_statement "pSVar13 = this->unattached_section_list_;" (assignment_expression "pSVar13 = this->unattached_section_list_" identifier = (field_expression "this->unattached_section_list_" identifier -> field_identifier)) ;)) (expression_statement "ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start;" (assignment_expression "ppOVar27 = (pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start" identifier = (field_expression "(pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl._M_start" (field_expression "(pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )._M_impl" (parenthesized_expression "(pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       )" ( (ERROR "pSVar13->\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::" (comma_expression "pSVar13->\n                       super__Vector_base<gold::Output_section*,_std" (binary_expression "pSVar13->\n                       super__Vector_base<gold::Output_section*" (binary_expression "pSVar13->\n                       super__Vector_base<gold" (field_expression "pSVar13->\n                       super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_section*>_>" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish) {\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }" if (parenthesized_expression "(ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish)" ( (binary_expression "ppOVar27 ==\n                (pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish" identifier == (field_expression "(pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl._M_finish" (field_expression "(pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>).\n                _M_impl" (parenthesized_expression "(pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)" ( (binary_expression "pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>" (binary_expression "pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pSVar13->\n                super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pSVar13->\n                super__Vector_base<gold::Output_section*,_std" (binary_expression "pSVar13->\n                super__Vector_base<gold" (field_expression "pSVar13->\n                super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\nLAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }\n              goto LAB_001a2020;\n            }" { (labeled_statement "LAB_001a1eac:\n              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }" statement_identifier : (if_statement "if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {\n                return;\n              }" if (parenthesized_expression "(*(int *)&(this->super_Output_data).field_0x20 << 2 < 0)" ( (binary_expression "*(int *)&(this->super_Output_data).field_0x20 << 2 < 0" (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) < number_literal) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) }))) (goto_statement "goto LAB_001a2020;" goto statement_identifier ;) })) (expression_statement "pSVar14 = unaff_s0;" (assignment_expression "pSVar14 = unaff_s0" identifier = identifier) ;) (while_statement "while (pOVar15 = *ppOVar27, pOVar15->type_ != 0x11) {\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }" while (parenthesized_expression "(pOVar15 = *ppOVar27, pOVar15->type_ != 0x11)" ( (comma_expression "pOVar15 = *ppOVar27, pOVar15->type_ != 0x11" (assignment_expression "pOVar15 = *ppOVar27" identifier = (pointer_expression "*ppOVar27" * identifier)) , (binary_expression "pOVar15->type_ != 0x11" (field_expression "pOVar15->type_" identifier -> field_identifier) != number_literal)) )) (compound_statement "{\n              p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\njoined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }\n              if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }\n              puVar24 = puVar24 + 1;\n              pSVar23 = pSVar14 + 1;\n              in_a3 = &oshdr;\n              iVar31 = iVar32;\n              oshdr.p_ = pSVar14;\n              Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);\n              pSVar13 = this->unattached_section_list_;\n              iVar32 = iVar31;\nLAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;\n              pSVar14 = pSVar23;\n              if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;\n            }" { (expression_statement "p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];" (assignment_expression "p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb]" identifier = (subscript_expression "(pOVar15->super_Output_data)._vptr_Output_data[0xb]" (field_expression "(pOVar15->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar15->super_Output_data)" ( (field_expression "pOVar15->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (labeled_statement "joined_r0x001a1e0c:\n              if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }" statement_identifier : (if_statement "if (p_Var30 == p_Var25) {\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }\n              else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }" if (parenthesized_expression "(p_Var30 == p_Var25)" ( (binary_expression "p_Var30 == p_Var25" identifier == identifier) )) (compound_statement "{\n                puVar9 = (uchar *)pOVar15->out_shndx_;\n                iVar5 = *(int *)(iVar31 + -0x7e1c);\n                if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;\n              }" { (expression_statement "puVar9 = (uchar *)pOVar15->out_shndx_;" (assignment_expression "puVar9 = (uchar *)pOVar15->out_shndx_" identifier = (cast_expression "(uchar *)pOVar15->out_shndx_" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar15->out_shndx_" identifier -> field_identifier))) ;) (expression_statement "iVar5 = *(int *)(iVar31 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(iVar31 + -0x7e1c)" identifier = (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) ))))) ;) (if_statement "if (puVar9 == (uchar *)0xffffffff) goto LAB_001a1fa0;" if (parenthesized_expression "(puVar9 == (uchar *)0xffffffff)" ( (binary_expression "puVar9 == (uchar *)0xffffffff" identifier == (cast_expression "(uchar *)0xffffffff" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;)) }) (else_clause "else {\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }" else (compound_statement "{\n                iVar31 = iVar32;\n                puVar9 = (uchar *)(*p_Var30)();\n                iVar32 = iVar31;\n              }" { (expression_statement "iVar31 = iVar32;" (assignment_expression "iVar31 = iVar32" identifier = identifier) ;) (expression_statement "puVar9 = (uchar *)(*p_Var30)();" (assignment_expression "puVar9 = (uchar *)(*p_Var30)()" identifier = (cast_expression "(uchar *)(*p_Var30)()" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var30)()" (parenthesized_expression "(*p_Var30)" ( (pointer_expression "*p_Var30" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar32 = iVar31;" (assignment_expression "iVar32 = iVar31" identifier = identifier) ;) })))) (if_statement "if (puVar24 != puVar9) {\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }" if (parenthesized_expression "(puVar24 != puVar9)" ( (binary_expression "puVar24 != puVar9" identifier != identifier) )) (compound_statement "{\n                uVar6 = 0x167;\n                do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );\n              }" { (expression_statement "uVar6 = 0x167;" (assignment_expression "uVar6 = 0x167" identifier = number_literal) ;) (do_statement "do {\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                } while( true );" do (compound_statement "{\n                  (**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);\nLAB_001a1fdc:\n                  uVar6 = 0x155;\n                }" { (expression_statement "(**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0);" (call_expression "(**(code **)(iVar31 + -0x7e0c))\n                            (*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0)" (parenthesized_expression "(**(code **)(iVar31 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar31 + -0x7e0c)" * (pointer_expression "*(code **)(iVar31 + -0x7e0c)" * (cast_expression "(code **)(iVar31 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7e0c)" ( (binary_expression "iVar31 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar31 + -0x7e1c) + 0x59f0,uVar6,\n                             *(int *)(iVar31 + -0x7e1c) + 0x78b0)" ( (binary_expression "*(int *)(iVar31 + -0x7e1c) + 0x59f0" (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(iVar31 + -0x7e1c) + 0x78b0" (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001a1fdc:\n                  uVar6 = 0x155;" statement_identifier : (expression_statement "uVar6 = 0x155;" (assignment_expression "uVar6 = 0x155" identifier = number_literal) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "pSVar23 = pSVar14 + 1;" (assignment_expression "pSVar23 = pSVar14 + 1" identifier = (binary_expression "pSVar14 + 1" identifier + number_literal)) ;) (expression_statement "in_a3 = &oshdr;" (assignment_expression "in_a3 = &oshdr" identifier = (pointer_expression "&oshdr" & identifier)) ;) (expression_statement "iVar31 = iVar32;" (assignment_expression "iVar31 = iVar32" identifier = identifier) ;) (expression_statement "oshdr.p_ = pSVar14;" (assignment_expression "oshdr.p_ = pSVar14" (field_expression "oshdr.p_" identifier . field_identifier) = identifier) ;) (labeled_statement "Output_section::write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);" statement_identifier : (ERROR ":" :) (expression_statement "write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr);" (comma_expression "write_header<32,_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr)" (binary_expression "write_header<32" identifier < number_literal) , (binary_expression "_false>\n                        (*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr)" identifier > (parenthesized_expression "(*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr)" ( (comma_expression "*ppOVar27,*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr" (pointer_expression "*ppOVar27" * identifier) , (comma_expression "*(Layout **)&(this->super_Output_data).field_0x24,\n                         this->secnamepool_,&oshdr" (pointer_expression "*(Layout **)&(this->super_Output_data).field_0x24" * (cast_expression "(Layout **)&(this->super_Output_data).field_0x24" ( (type_descriptor "Layout **" 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)))) , (comma_expression "this->secnamepool_,&oshdr" (field_expression "this->secnamepool_" identifier -> field_identifier) , (pointer_expression "&oshdr" & identifier)))) )))) ;)) (expression_statement "pSVar13 = this->unattached_section_list_;" (assignment_expression "pSVar13 = this->unattached_section_list_" identifier = (field_expression "this->unattached_section_list_" identifier -> field_identifier)) ;) (expression_statement "iVar32 = iVar31;" (assignment_expression "iVar32 = iVar31" identifier = identifier) ;) (labeled_statement "LAB_001a1e50:\n              ppOVar27 = ppOVar27 + 1;" statement_identifier : (expression_statement "ppOVar27 = ppOVar27 + 1;" (assignment_expression "ppOVar27 = ppOVar27 + 1" identifier = (binary_expression "ppOVar27 + 1" identifier + number_literal)) ;)) (expression_statement "pSVar14 = pSVar23;" (assignment_expression "pSVar14 = pSVar23" identifier = identifier) ;) (if_statement "if ((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27) goto LAB_001a1eac;" if (parenthesized_expression "((pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27)" ( (binary_expression "(pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish == ppOVar27" (field_expression "(pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_finish" (field_expression "(pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl" (parenthesized_expression "(pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)" ( (binary_expression "pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>" (binary_expression "pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pSVar13->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pSVar13->\n                  super__Vector_base<gold::Output_section*,_std" (binary_expression "pSVar13->\n                  super__Vector_base<gold" (field_expression "pSVar13->\n                  super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) == identifier) )) (goto_statement "goto LAB_001a1eac;" goto statement_identifier ;)) })) (expression_statement "iVar5 = *(int *)(iVar31 + -0x7e1c);" (assignment_expression "iVar5 = *(int *)(iVar31 + -0x7e1c)" identifier = (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s0 = pSVar14;" (assignment_expression "unaff_s0 = pSVar14" identifier = identifier) ;) (if_statement "if (*(int *)(*local_34 + 8) != 0) {\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }" if (parenthesized_expression "(*(int *)(*local_34 + 8) != 0)" ( (binary_expression "*(int *)(*local_34 + 8) != 0" (pointer_expression "*(int *)(*local_34 + 8)" * (cast_expression "(int *)(*local_34 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_34 + 8)" ( (binary_expression "*local_34 + 8" (pointer_expression "*local_34" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n              pSVar23 = pSVar14;\n              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }\n              goto LAB_001a1e50;\n            }" { (expression_statement "pSVar23 = pSVar14;" (assignment_expression "pSVar23 = pSVar14" identifier = identifier) ;) (if_statement "if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }" if (parenthesized_expression "(*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0')" ( (binary_expression "*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(*local_34 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(*local_34 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_34 + 8) + 0x3195)" ( (binary_expression "*(int *)(*local_34 + 8) + 0x3195" (pointer_expression "*(int *)(*local_34 + 8)" * (cast_expression "(int *)(*local_34 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_34 + 8)" ( (binary_expression "*local_34 + 8" (pointer_expression "*local_34" * identifier) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];\n                goto joined_r0x001a1e0c;\n              }" { (expression_statement "p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];" (assignment_expression "p_Var30 = (pOVar15->super_Output_data)._vptr_Output_data[0xb]" identifier = (subscript_expression "(pOVar15->super_Output_data)._vptr_Output_data[0xb]" (field_expression "(pOVar15->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar15->super_Output_data)" ( (field_expression "pOVar15->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (goto_statement "goto joined_r0x001a1e0c;" goto statement_identifier ;) })) (goto_statement "goto LAB_001a1e50;" goto statement_identifier ;) })) (labeled_statement "LAB_001a1fe8:\n            of = (Output_file *)&DAT_0000005c;" statement_identifier : (expression_statement "of = (Output_file *)&DAT_0000005c;" (assignment_expression "of = (Output_file *)&DAT_0000005c" identifier = (cast_expression "(Output_file *)&DAT_0000005c" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000005c" & identifier))) ;)) (expression_statement "in_a2 = (Output_file *)(iVar5 + 0x78cc);" (assignment_expression "in_a2 = (Output_file *)(iVar5 + 0x78cc)" identifier = (cast_expression "(Output_file *)(iVar5 + 0x78cc)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x78cc)" ( (binary_expression "iVar5 + 0x78cc" identifier + number_literal) )))) ;) (expression_statement "this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec);" (assignment_expression "this_00 = (Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec)" identifier = (cast_expression "(Output_file *)(*(int *)(iVar31 + -0x7e1c) + -0x5cec)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar31 + -0x7e1c) + -0x5cec)" ( (binary_expression "*(int *)(iVar31 + -0x7e1c) + -0x5cec" (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(iVar31 + -0x7e0c))();" (call_expression "(**(code **)(iVar31 + -0x7e0c))()" (parenthesized_expression "(**(code **)(iVar31 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar31 + -0x7e0c)" * (pointer_expression "*(code **)(iVar31 + -0x7e0c)" * (cast_expression "(code **)(iVar31 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7e0c)" ( (binary_expression "iVar31 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001a2000:\n            uVar22 = (uint)((uint)of->file_size_ < uVar22);" statement_identifier : (expression_statement "uVar22 = (uint)((uint)of->file_size_ < uVar22);" (assignment_expression "uVar22 = (uint)((uint)of->file_size_ < uVar22)" identifier = (call_expression "(uint)((uint)of->file_size_ < uVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < uVar22)" ( (binary_expression "(uint)of->file_size_ < uVar22" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < identifier) )))) ;)) (expression_statement "pSVar14 = unaff_s0;" (assignment_expression "pSVar14 = unaff_s0" identifier = identifier) ;) (if_statement "if (uVar22 != 0) break;" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (labeled_statement "Output_file::get_output_view(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2);" (call_expression "get_output_view(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2)" identifier (argument_list "(this_00,CONCAT44(iVar32,in_stack_ffffffb4),(size_t)of,in_a2)" ( identifier , (call_expression "CONCAT44(iVar32,in_stack_ffffffb4)" identifier (argument_list "(iVar32,in_stack_ffffffb4)" ( identifier , identifier ))) , (cast_expression "(size_t)of" ( (type_descriptor "size_t" primitive_type) ) identifier) , identifier ))) ;)) })) (labeled_statement "LAB_001a2020:\n    (**(code **)(iVar31 + -0x7e0c))\n              (*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0xe3,*(int *)(iVar31 + -0x7e1c) + 0x7818);" statement_identifier : (expression_statement "(**(code **)(iVar31 + -0x7e0c))\n              (*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0xe3,*(int *)(iVar31 + -0x7e1c) + 0x7818);" (call_expression "(**(code **)(iVar31 + -0x7e0c))\n              (*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0xe3,*(int *)(iVar31 + -0x7e1c) + 0x7818)" (parenthesized_expression "(**(code **)(iVar31 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar31 + -0x7e0c)" * (pointer_expression "*(code **)(iVar31 + -0x7e0c)" * (cast_expression "(code **)(iVar31 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7e0c)" ( (binary_expression "iVar31 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0xe3,*(int *)(iVar31 + -0x7e1c) + 0x7818)" ( (binary_expression "*(int *)(iVar31 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(iVar31 + -0x7e1c) + 0x7818" (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) )))) + number_literal) ))) ;)) })) (expression_statement "pLVar17 = (Layout *)&DAT_000000cf;" (assignment_expression "pLVar17 = (Layout *)&DAT_000000cf" identifier = (cast_expression "(Layout *)&DAT_000000cf" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000000cf" & identifier))) ;) (expression_statement "pcVar29 = *(code **)(iVar31 + -0x7e0c);" (assignment_expression "pcVar29 = *(code **)(iVar31 + -0x7e0c)" identifier = (pointer_expression "*(code **)(iVar31 + -0x7e0c)" * (cast_expression "(code **)(iVar31 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7e0c)" ( (binary_expression "iVar31 + -0x7e0c" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = *(int *)(iVar31 + -0x7e1c) + 0x7894;" (assignment_expression "iVar32 = *(int *)(iVar31 + -0x7e1c) + 0x7894" identifier = (binary_expression "*(int *)(iVar31 + -0x7e1c) + 0x7894" (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar31 = *(int *)(iVar31 + -0x7e1c) + -0x4fe0;" (assignment_expression "iVar31 = *(int *)(iVar31 + -0x7e1c) + -0x4fe0" identifier = (binary_expression "*(int *)(iVar31 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar29)(iVar31,0xcf,iVar32);" (call_expression "(*pcVar29)(iVar31,0xcf,iVar32)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(iVar31,0xcf,iVar32)" ( identifier , number_literal , identifier ))) ;) (expression_statement "EVar10 = (**(code **)(pcVar29 + 0x290388))(iVar32,*(undefined4 *)(iVar31 + 0x24));" (assignment_expression "EVar10 = (**(code **)(pcVar29 + 0x290388))(iVar32,*(undefined4 *)(iVar31 + 0x24))" identifier = (call_expression "(**(code **)(pcVar29 + 0x290388))(iVar32,*(undefined4 *)(iVar31 + 0x24))" (parenthesized_expression "(**(code **)(pcVar29 + 0x290388))" ( (pointer_expression "**(code **)(pcVar29 + 0x290388)" * (pointer_expression "*(code **)(pcVar29 + 0x290388)" * (cast_expression "(code **)(pcVar29 + 0x290388)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x290388)" ( (binary_expression "pcVar29 + 0x290388" identifier + number_literal) ))))) )) (argument_list "(iVar32,*(undefined4 *)(iVar31 + 0x24))" ( identifier , (pointer_expression "*(undefined4 *)(iVar31 + 0x24)" * (cast_expression "(undefined4 *)(iVar31 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x24)" ( (binary_expression "iVar31 + 0x24" identifier + number_literal) )))) )))) ;) (expression_statement "pSVar14 = in_a3->p_;" (assignment_expression "pSVar14 = in_a3->p_" identifier = (field_expression "in_a3->p_" identifier -> field_identifier)) ;) (expression_statement "EVar21 = *(Elf_Word *)(iVar31 + 0x54);" (assignment_expression "EVar21 = *(Elf_Word *)(iVar31 + 0x54)" identifier = (pointer_expression "*(Elf_Word *)(iVar31 + 0x54)" * (cast_expression "(Elf_Word *)(iVar31 + 0x54)" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x54)" ( (binary_expression "iVar31 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "piVar18 = *(int **)(iVar31 + 0x48);" (assignment_expression "piVar18 = *(int **)(iVar31 + 0x48)" identifier = (pointer_expression "*(int **)(iVar31 + 0x48)" * (cast_expression "(int **)(iVar31 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + 0x48)" ( (binary_expression "iVar31 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(uint *)(iVar31 + 0x5c);" (assignment_expression "uVar4 = *(uint *)(iVar31 + 0x5c)" identifier = (pointer_expression "*(uint *)(iVar31 + 0x5c)" * (cast_expression "(uint *)(iVar31 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x5c)" ( (binary_expression "iVar31 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "pSVar14->sh_name = EVar10;" (assignment_expression "pSVar14->sh_name = EVar10" (field_expression "pSVar14->sh_name" identifier -> field_identifier) = identifier) ;) (expression_statement "pSVar14->sh_type = EVar21;" (assignment_expression "pSVar14->sh_type = EVar21" (field_expression "pSVar14->sh_type" identifier -> field_identifier) = identifier) ;) (if_statement "if ((piVar18 != (int *)0x0) && (*(int *)(iVar31 + 0x98) << 8 < 0)) goto LAB_001a2170;" if (parenthesized_expression "((piVar18 != (int *)0x0) && (*(int *)(iVar31 + 0x98) << 8 < 0))" ( (binary_expression "(piVar18 != (int *)0x0) && (*(int *)(iVar31 + 0x98) << 8 < 0)" (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(int *)(iVar31 + 0x98) << 8 < 0)" ( (binary_expression "*(int *)(iVar31 + 0x98) << 8 < 0" (binary_expression "*(int *)(iVar31 + 0x98) << 8" (pointer_expression "*(int *)(iVar31 + 0x98)" * (cast_expression "(int *)(iVar31 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x98)" ( (binary_expression "iVar31 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001a2170;" goto statement_identifier ;)) (labeled_statement "LAB_001a20c8:\n  iVar32 = *(int *)(iVar31 + 0x20);" statement_identifier : (expression_statement "iVar32 = *(int *)(iVar31 + 0x20);" (assignment_expression "iVar32 = *(int *)(iVar31 + 0x20)" identifier = (pointer_expression "*(int *)(iVar31 + 0x20)" * (cast_expression "(int *)(iVar31 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x20)" ( (binary_expression "iVar31 + 0x20" identifier + number_literal) ))))) ;)) (expression_statement "pSVar14->sh_flags = uVar4;" (assignment_expression "pSVar14->sh_flags = uVar4" (field_expression "pSVar14->sh_flags" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar32 < 0) {\n    pSVar14->sh_addr = *(Elf_Addr *)(iVar31 + 0xc);\n    if (iVar32 << 2 < 0) {\n      pSVar14->sh_offset = *(Elf_Off *)(iVar31 + 0x1c);\n      if (iVar32 << 1 < 0) {\n        this_01 = *(Layout **)(iVar31 + 0x40);\n        pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14);\n        if (this_01 == (Layout *)0x0) goto LAB_001a21d4;\n        p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];\nLAB_001a210c:\n        uVar4 = (*p_Var25)();\n        pSVar14 = in_a3->p_;\n        piVar18 = *(int **)(iVar31 + 0x48);\nLAB_001a2120:\n        pSVar14->sh_link = uVar4;\n        do {\n          if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }\n          if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }\n          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);\n          if (EVar10 != 0) goto LAB_001a2184;\n          Symbol::symtab_index((Symbol *)this_01);\nLAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;\n          this_01 = pLVar17;\n          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();\n          pSVar14 = in_a3->p_;\n          piVar18 = *(int **)(iVar31 + 0x48);\n          pSVar14->sh_link = EVar10;\n        } while( true );\n      }\n      goto LAB_001a227c;\n    }\n  }\n  else {\n    (**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xc5,*(int *)(pcVar29 + 0x29035c) + 0x7850);\nLAB_001a227c:\n    (**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xcf,*(int *)(pcVar29 + 0x29035c) + 0x7894);\n  }" if (parenthesized_expression "(iVar32 < 0)" ( (binary_expression "iVar32 < 0" identifier < number_literal) )) (compound_statement "{\n    pSVar14->sh_addr = *(Elf_Addr *)(iVar31 + 0xc);\n    if (iVar32 << 2 < 0) {\n      pSVar14->sh_offset = *(Elf_Off *)(iVar31 + 0x1c);\n      if (iVar32 << 1 < 0) {\n        this_01 = *(Layout **)(iVar31 + 0x40);\n        pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14);\n        if (this_01 == (Layout *)0x0) goto LAB_001a21d4;\n        p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];\nLAB_001a210c:\n        uVar4 = (*p_Var25)();\n        pSVar14 = in_a3->p_;\n        piVar18 = *(int **)(iVar31 + 0x48);\nLAB_001a2120:\n        pSVar14->sh_link = uVar4;\n        do {\n          if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }\n          if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }\n          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);\n          if (EVar10 != 0) goto LAB_001a2184;\n          Symbol::symtab_index((Symbol *)this_01);\nLAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;\n          this_01 = pLVar17;\n          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();\n          pSVar14 = in_a3->p_;\n          piVar18 = *(int **)(iVar31 + 0x48);\n          pSVar14->sh_link = EVar10;\n        } while( true );\n      }\n      goto LAB_001a227c;\n    }\n  }" { (expression_statement "pSVar14->sh_addr = *(Elf_Addr *)(iVar31 + 0xc);" (assignment_expression "pSVar14->sh_addr = *(Elf_Addr *)(iVar31 + 0xc)" (field_expression "pSVar14->sh_addr" identifier -> field_identifier) = (pointer_expression "*(Elf_Addr *)(iVar31 + 0xc)" * (cast_expression "(Elf_Addr *)(iVar31 + 0xc)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0xc)" ( (binary_expression "iVar31 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 << 2 < 0) {\n      pSVar14->sh_offset = *(Elf_Off *)(iVar31 + 0x1c);\n      if (iVar32 << 1 < 0) {\n        this_01 = *(Layout **)(iVar31 + 0x40);\n        pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14);\n        if (this_01 == (Layout *)0x0) goto LAB_001a21d4;\n        p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];\nLAB_001a210c:\n        uVar4 = (*p_Var25)();\n        pSVar14 = in_a3->p_;\n        piVar18 = *(int **)(iVar31 + 0x48);\nLAB_001a2120:\n        pSVar14->sh_link = uVar4;\n        do {\n          if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }\n          if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }\n          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);\n          if (EVar10 != 0) goto LAB_001a2184;\n          Symbol::symtab_index((Symbol *)this_01);\nLAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;\n          this_01 = pLVar17;\n          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();\n          pSVar14 = in_a3->p_;\n          piVar18 = *(int **)(iVar31 + 0x48);\n          pSVar14->sh_link = EVar10;\n        } while( true );\n      }\n      goto LAB_001a227c;\n    }" if (parenthesized_expression "(iVar32 << 2 < 0)" ( (binary_expression "iVar32 << 2 < 0" (binary_expression "iVar32 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      pSVar14->sh_offset = *(Elf_Off *)(iVar31 + 0x1c);\n      if (iVar32 << 1 < 0) {\n        this_01 = *(Layout **)(iVar31 + 0x40);\n        pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14);\n        if (this_01 == (Layout *)0x0) goto LAB_001a21d4;\n        p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];\nLAB_001a210c:\n        uVar4 = (*p_Var25)();\n        pSVar14 = in_a3->p_;\n        piVar18 = *(int **)(iVar31 + 0x48);\nLAB_001a2120:\n        pSVar14->sh_link = uVar4;\n        do {\n          if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }\n          if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }\n          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);\n          if (EVar10 != 0) goto LAB_001a2184;\n          Symbol::symtab_index((Symbol *)this_01);\nLAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;\n          this_01 = pLVar17;\n          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();\n          pSVar14 = in_a3->p_;\n          piVar18 = *(int **)(iVar31 + 0x48);\n          pSVar14->sh_link = EVar10;\n        } while( true );\n      }\n      goto LAB_001a227c;\n    }" { (expression_statement "pSVar14->sh_offset = *(Elf_Off *)(iVar31 + 0x1c);" (assignment_expression "pSVar14->sh_offset = *(Elf_Off *)(iVar31 + 0x1c)" (field_expression "pSVar14->sh_offset" identifier -> field_identifier) = (pointer_expression "*(Elf_Off *)(iVar31 + 0x1c)" * (cast_expression "(Elf_Off *)(iVar31 + 0x1c)" ( (type_descriptor "Elf_Off *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x1c)" ( (binary_expression "iVar31 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 << 1 < 0) {\n        this_01 = *(Layout **)(iVar31 + 0x40);\n        pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14);\n        if (this_01 == (Layout *)0x0) goto LAB_001a21d4;\n        p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];\nLAB_001a210c:\n        uVar4 = (*p_Var25)();\n        pSVar14 = in_a3->p_;\n        piVar18 = *(int **)(iVar31 + 0x48);\nLAB_001a2120:\n        pSVar14->sh_link = uVar4;\n        do {\n          if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }\n          if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }\n          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);\n          if (EVar10 != 0) goto LAB_001a2184;\n          Symbol::symtab_index((Symbol *)this_01);\nLAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;\n          this_01 = pLVar17;\n          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();\n          pSVar14 = in_a3->p_;\n          piVar18 = *(int **)(iVar31 + 0x48);\n          pSVar14->sh_link = EVar10;\n        } while( true );\n      }" if (parenthesized_expression "(iVar32 << 1 < 0)" ( (binary_expression "iVar32 << 1 < 0" (binary_expression "iVar32 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        this_01 = *(Layout **)(iVar31 + 0x40);\n        pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14);\n        if (this_01 == (Layout *)0x0) goto LAB_001a21d4;\n        p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];\nLAB_001a210c:\n        uVar4 = (*p_Var25)();\n        pSVar14 = in_a3->p_;\n        piVar18 = *(int **)(iVar31 + 0x48);\nLAB_001a2120:\n        pSVar14->sh_link = uVar4;\n        do {\n          if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }\n          if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }\n          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);\n          if (EVar10 != 0) goto LAB_001a2184;\n          Symbol::symtab_index((Symbol *)this_01);\nLAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;\n          this_01 = pLVar17;\n          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();\n          pSVar14 = in_a3->p_;\n          piVar18 = *(int **)(iVar31 + 0x48);\n          pSVar14->sh_link = EVar10;\n        } while( true );\n      }" { (expression_statement "this_01 = *(Layout **)(iVar31 + 0x40);" (assignment_expression "this_01 = *(Layout **)(iVar31 + 0x40)" identifier = (pointer_expression "*(Layout **)(iVar31 + 0x40)" * (cast_expression "(Layout **)(iVar31 + 0x40)" ( (type_descriptor "Layout **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + 0x40)" ( (binary_expression "iVar31 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14);" (assignment_expression "pSVar14->sh_size = *(Elf_WXword *)(iVar31 + 0x14)" (field_expression "pSVar14->sh_size" identifier -> field_identifier) = (pointer_expression "*(Elf_WXword *)(iVar31 + 0x14)" * (cast_expression "(Elf_WXword *)(iVar31 + 0x14)" ( (type_descriptor "Elf_WXword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x14)" ( (binary_expression "iVar31 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (this_01 == (Layout *)0x0) goto LAB_001a21d4;" if (parenthesized_expression "(this_01 == (Layout *)0x0)" ( (binary_expression "this_01 == (Layout *)0x0" identifier == (cast_expression "(Layout *)0x0" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001a21d4;" goto statement_identifier ;)) (expression_statement "p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];" (assignment_expression "p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb]" identifier = (subscript_expression "((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb]" (field_expression "((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&this_01->number_of_input_files_)" ( (cast_expression "(Output_data *)&this_01->number_of_input_files_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_01->number_of_input_files_" & (field_expression "this_01->number_of_input_files_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ])) ;) (labeled_statement "LAB_001a210c:\n        uVar4 = (*p_Var25)();" statement_identifier : (expression_statement "uVar4 = (*p_Var25)();" (assignment_expression "uVar4 = (*p_Var25)()" identifier = (call_expression "(*p_Var25)()" (parenthesized_expression "(*p_Var25)" ( (pointer_expression "*p_Var25" * identifier) )) (argument_list "()" ( )))) ;)) (expression_statement "pSVar14 = in_a3->p_;" (assignment_expression "pSVar14 = in_a3->p_" identifier = (field_expression "in_a3->p_" identifier -> field_identifier)) ;) (expression_statement "piVar18 = *(int **)(iVar31 + 0x48);" (assignment_expression "piVar18 = *(int **)(iVar31 + 0x48)" identifier = (pointer_expression "*(int **)(iVar31 + 0x48)" * (cast_expression "(int **)(iVar31 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + 0x48)" ( (binary_expression "iVar31 + 0x48" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001a2120:\n        pSVar14->sh_link = uVar4;" statement_identifier : (expression_statement "pSVar14->sh_link = uVar4;" (assignment_expression "pSVar14->sh_link = uVar4" (field_expression "pSVar14->sh_link" identifier -> field_identifier) = identifier) ;)) (do_statement "do {\n          if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }\n          if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }\n          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);\n          if (EVar10 != 0) goto LAB_001a2184;\n          Symbol::symtab_index((Symbol *)this_01);\nLAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;\n          this_01 = pLVar17;\n          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();\n          pSVar14 = in_a3->p_;\n          piVar18 = *(int **)(iVar31 + 0x48);\n          pSVar14->sh_link = EVar10;\n        } while( true );" do (compound_statement "{\n          if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }\n          if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }\n          EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);\n          if (EVar10 != 0) goto LAB_001a2184;\n          Symbol::symtab_index((Symbol *)this_01);\nLAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;\n          this_01 = pLVar17;\n          EVar10 = (**(code **)(pcVar29 + 0x2929f0))();\n          pSVar14 = in_a3->p_;\n          piVar18 = *(int **)(iVar31 + 0x48);\n          pSVar14->sh_link = EVar10;\n        }" { (if_statement "if (piVar18 != (int *)0x0) {\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }" if (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }\nLAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);\n            EVar16 = *(Elf_WXword *)(iVar31 + 0x34);\n            pSVar14->sh_info = EVar10;\n            pSVar14->sh_addralign = EVar19;\n            pSVar14->sh_entsize = EVar16;\n            return;\n          }" { (if_statement "if (*(int *)(iVar31 + 0x98) << 8 < 0) {\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }\n            else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }" if (parenthesized_expression "(*(int *)(iVar31 + 0x98) << 8 < 0)" ( (binary_expression "*(int *)(iVar31 + 0x98) << 8 < 0" (binary_expression "*(int *)(iVar31 + 0x98) << 8" (pointer_expression "*(int *)(iVar31 + 0x98)" * (cast_expression "(int *)(iVar31 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x98)" ( (binary_expression "iVar31 + 0x98" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n              if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }\n            }" { (if_statement "if (*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)) {\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }\n              else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }" if (parenthesized_expression "(*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac))" ( (binary_expression "*(code **)(*piVar18 + 0x2c) == *(code **)(pcVar29 + 0x290eac)" (pointer_expression "*(code **)(*piVar18 + 0x2c)" * (cast_expression "(code **)(*piVar18 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0x2c)" ( (binary_expression "*piVar18 + 0x2c" (pointer_expression "*piVar18" * identifier) + number_literal) )))) == (pointer_expression "*(code **)(pcVar29 + 0x290eac)" * (cast_expression "(code **)(pcVar29 + 0x290eac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x290eac)" ( (binary_expression "pcVar29 + 0x290eac" identifier + number_literal) ))))) )) (compound_statement "{\n                EVar10 = piVar18[0x19];\n                iVar32 = *(int *)(pcVar29 + 0x29035c);\n                if (EVar10 == 0xffffffff) goto LAB_001a215c;\n              }" { (expression_statement "EVar10 = piVar18[0x19];" (assignment_expression "EVar10 = piVar18[0x19]" identifier = (subscript_expression "piVar18[0x19]" identifier [ number_literal ])) ;) (expression_statement "iVar32 = *(int *)(pcVar29 + 0x29035c);" (assignment_expression "iVar32 = *(int *)(pcVar29 + 0x29035c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x29035c)" * (cast_expression "(int *)(pcVar29 + 0x29035c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29035c)" ( (binary_expression "pcVar29 + 0x29035c" identifier + number_literal) ))))) ;) (if_statement "if (EVar10 == 0xffffffff) goto LAB_001a215c;" if (parenthesized_expression "(EVar10 == 0xffffffff)" ( (binary_expression "EVar10 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_001a215c;" goto statement_identifier ;)) }) (else_clause "else {\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }" else (compound_statement "{\n                EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);\n                pSVar14 = in_a3->p_;\n              }" { (expression_statement "EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18);" (assignment_expression "EVar10 = (**(code **)(*piVar18 + 0x2c))(piVar18)" identifier = (call_expression "(**(code **)(*piVar18 + 0x2c))(piVar18)" (parenthesized_expression "(**(code **)(*piVar18 + 0x2c))" ( (pointer_expression "**(code **)(*piVar18 + 0x2c)" * (pointer_expression "*(code **)(*piVar18 + 0x2c)" * (cast_expression "(code **)(*piVar18 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar18 + 0x2c)" ( (binary_expression "*piVar18 + 0x2c" (pointer_expression "*piVar18" * identifier) + number_literal) ))))) )) (argument_list "(piVar18)" ( identifier )))) ;) (expression_statement "pSVar14 = in_a3->p_;" (assignment_expression "pSVar14 = in_a3->p_" identifier = (field_expression "in_a3->p_" identifier -> field_identifier)) ;) }))) }) (else_clause "else {\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }" else (compound_statement "{\n              EVar10 = piVar18[0x1a];\n              if (EVar10 == 0) goto LAB_001a22b4;\n            }" { (expression_statement "EVar10 = piVar18[0x1a];" (assignment_expression "EVar10 = piVar18[0x1a]" identifier = (subscript_expression "piVar18[0x1a]" identifier [ number_literal ])) ;) (if_statement "if (EVar10 == 0) goto LAB_001a22b4;" if (parenthesized_expression "(EVar10 == 0)" ( (binary_expression "EVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001a22b4;" goto statement_identifier ;)) }))) (labeled_statement "LAB_001a2184:\n            EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);" statement_identifier : (expression_statement "EVar19 = *(Elf_WXword *)(iVar31 + 0x2c);" (assignment_expression "EVar19 = *(Elf_WXword *)(iVar31 + 0x2c)" identifier = (pointer_expression "*(Elf_WXword *)(iVar31 + 0x2c)" * (cast_expression "(Elf_WXword *)(iVar31 + 0x2c)" ( (type_descriptor "Elf_WXword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x2c)" ( (binary_expression "iVar31 + 0x2c" identifier + number_literal) ))))) ;)) (expression_statement "EVar16 = *(Elf_WXword *)(iVar31 + 0x34);" (assignment_expression "EVar16 = *(Elf_WXword *)(iVar31 + 0x34)" identifier = (pointer_expression "*(Elf_WXword *)(iVar31 + 0x34)" * (cast_expression "(Elf_WXword *)(iVar31 + 0x34)" ( (type_descriptor "Elf_WXword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x34)" ( (binary_expression "iVar31 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "pSVar14->sh_info = EVar10;" (assignment_expression "pSVar14->sh_info = EVar10" (field_expression "pSVar14->sh_info" identifier -> field_identifier) = identifier) ;) (expression_statement "pSVar14->sh_addralign = EVar19;" (assignment_expression "pSVar14->sh_addralign = EVar19" (field_expression "pSVar14->sh_addralign" identifier -> field_identifier) = identifier) ;) (expression_statement "pSVar14->sh_entsize = EVar16;" (assignment_expression "pSVar14->sh_entsize = EVar16" (field_expression "pSVar14->sh_entsize" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar31 + 0x4c) == 0) {\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }" if (parenthesized_expression "(*(int *)(iVar31 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar31 + 0x4c) == 0" (pointer_expression "*(int *)(iVar31 + 0x4c)" * (cast_expression "(int *)(iVar31 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x4c)" ( (binary_expression "iVar31 + 0x4c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            EVar10 = *(Elf_Word *)(iVar31 + 0x50);\n            goto LAB_001a2184;\n          }" { (expression_statement "EVar10 = *(Elf_Word *)(iVar31 + 0x50);" (assignment_expression "EVar10 = *(Elf_Word *)(iVar31 + 0x50)" identifier = (pointer_expression "*(Elf_Word *)(iVar31 + 0x50)" * (cast_expression "(Elf_Word *)(iVar31 + 0x50)" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x50)" ( (binary_expression "iVar31 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001a2184;" goto statement_identifier ;) })) (expression_statement "EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10);" (assignment_expression "EVar10 = *(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10)" identifier = (pointer_expression "*(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10)" * (cast_expression "(Elf_Word *)(*(int *)(iVar31 + 0x4c) + 0x10)" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar31 + 0x4c) + 0x10)" ( (binary_expression "*(int *)(iVar31 + 0x4c) + 0x10" (pointer_expression "*(int *)(iVar31 + 0x4c)" * (cast_expression "(int *)(iVar31 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x4c)" ( (binary_expression "iVar31 + 0x4c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (EVar10 != 0) goto LAB_001a2184;" if (parenthesized_expression "(EVar10 != 0)" ( (binary_expression "EVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001a2184;" goto statement_identifier ;)) (labeled_statement "Symbol::symtab_index((Symbol *)this_01);" statement_identifier : (ERROR ":" :) (expression_statement "symtab_index((Symbol *)this_01);" (call_expression "symtab_index((Symbol *)this_01)" identifier (argument_list "((Symbol *)this_01)" ( (cast_expression "(Symbol *)this_01" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (labeled_statement "LAB_001a21d4:\n          if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;" statement_identifier : (if_statement "if (-1 < *(int *)(iVar31 + 0x98) << 2) goto code_r0x001a21e4;" if (parenthesized_expression "(-1 < *(int *)(iVar31 + 0x98) << 2)" ( (binary_expression "-1 < *(int *)(iVar31 + 0x98) << 2" number_literal < (binary_expression "*(int *)(iVar31 + 0x98) << 2" (pointer_expression "*(int *)(iVar31 + 0x98)" * (cast_expression "(int *)(iVar31 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x98)" ( (binary_expression "iVar31 + 0x98" identifier + number_literal) )))) << number_literal)) )) (goto_statement "goto code_r0x001a21e4;" goto statement_identifier ;))) (expression_statement "this_01 = pLVar17;" (assignment_expression "this_01 = pLVar17" identifier = identifier) ;) (expression_statement "EVar10 = (**(code **)(pcVar29 + 0x2929f0))();" (assignment_expression "EVar10 = (**(code **)(pcVar29 + 0x2929f0))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x2929f0))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x2929f0))" ( (pointer_expression "**(code **)(pcVar29 + 0x2929f0)" * (pointer_expression "*(code **)(pcVar29 + 0x2929f0)" * (cast_expression "(code **)(pcVar29 + 0x2929f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x2929f0)" ( (binary_expression "pcVar29 + 0x2929f0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "pSVar14 = in_a3->p_;" (assignment_expression "pSVar14 = in_a3->p_" identifier = (field_expression "in_a3->p_" identifier -> field_identifier)) ;) (expression_statement "piVar18 = *(int **)(iVar31 + 0x48);" (assignment_expression "piVar18 = *(int **)(iVar31 + 0x48)" identifier = (pointer_expression "*(int **)(iVar31 + 0x48)" * (cast_expression "(int **)(iVar31 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + 0x48)" ( (binary_expression "iVar31 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "pSVar14->sh_link = EVar10;" (assignment_expression "pSVar14->sh_link = EVar10" (field_expression "pSVar14->sh_link" identifier -> field_identifier) = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_001a227c;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xc5,*(int *)(pcVar29 + 0x29035c) + 0x7850);\nLAB_001a227c:\n    (**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xcf,*(int *)(pcVar29 + 0x29035c) + 0x7894);\n  }" else (compound_statement "{\n    (**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xc5,*(int *)(pcVar29 + 0x29035c) + 0x7850);\nLAB_001a227c:\n    (**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xcf,*(int *)(pcVar29 + 0x29035c) + 0x7894);\n  }" { (expression_statement "(**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xc5,*(int *)(pcVar29 + 0x29035c) + 0x7850);" (call_expression "(**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xc5,*(int *)(pcVar29 + 0x29035c) + 0x7850)" (parenthesized_expression "(**(code **)(pcVar29 + 0x29036c))" ( (pointer_expression "**(code **)(pcVar29 + 0x29036c)" * (pointer_expression "*(code **)(pcVar29 + 0x29036c)" * (cast_expression "(code **)(pcVar29 + 0x29036c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29036c)" ( (binary_expression "pcVar29 + 0x29036c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xc5,*(int *)(pcVar29 + 0x29035c) + 0x7850)" ( (binary_expression "*(int *)(pcVar29 + 0x29035c) + -0x4fe0" (pointer_expression "*(int *)(pcVar29 + 0x29035c)" * (cast_expression "(int *)(pcVar29 + 0x29035c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29035c)" ( (binary_expression "pcVar29 + 0x29035c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x29035c) + 0x7850" (pointer_expression "*(int *)(pcVar29 + 0x29035c)" * (cast_expression "(int *)(pcVar29 + 0x29035c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29035c)" ( (binary_expression "pcVar29 + 0x29035c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001a227c:\n    (**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xcf,*(int *)(pcVar29 + 0x29035c) + 0x7894);" statement_identifier : (expression_statement "(**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xcf,*(int *)(pcVar29 + 0x29035c) + 0x7894);" (call_expression "(**(code **)(pcVar29 + 0x29036c))\n              (*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xcf,*(int *)(pcVar29 + 0x29035c) + 0x7894)" (parenthesized_expression "(**(code **)(pcVar29 + 0x29036c))" ( (pointer_expression "**(code **)(pcVar29 + 0x29036c)" * (pointer_expression "*(code **)(pcVar29 + 0x29036c)" * (cast_expression "(code **)(pcVar29 + 0x29036c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29036c)" ( (binary_expression "pcVar29 + 0x29036c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar29 + 0x29035c) + -0x4fe0,0xcf,*(int *)(pcVar29 + 0x29035c) + 0x7894)" ( (binary_expression "*(int *)(pcVar29 + 0x29035c) + -0x4fe0" (pointer_expression "*(int *)(pcVar29 + 0x29035c)" * (cast_expression "(int *)(pcVar29 + 0x29035c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29035c)" ( (binary_expression "pcVar29 + 0x29035c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x29035c) + 0x7894" (pointer_expression "*(int *)(pcVar29 + 0x29035c)" * (cast_expression "(int *)(pcVar29 + 0x29035c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29035c)" ( (binary_expression "pcVar29 + 0x29035c" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "this_01 = (Layout *)(*(int *)(pcVar29 + 0x29035c) + -0x4fe0);" (assignment_expression "this_01 = (Layout *)(*(int *)(pcVar29 + 0x29035c) + -0x4fe0)" identifier = (cast_expression "(Layout *)(*(int *)(pcVar29 + 0x29035c) + -0x4fe0)" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x29035c) + -0x4fe0)" ( (binary_expression "*(int *)(pcVar29 + 0x29035c) + -0x4fe0" (pointer_expression "*(int *)(pcVar29 + 0x29035c)" * (cast_expression "(int *)(pcVar29 + 0x29035c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29035c)" ( (binary_expression "pcVar29 + 0x29035c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar29 + 0x29036c))(this_01,0xe3,*(int *)(pcVar29 + 0x29035c) + 0x7818);" (call_expression "(**(code **)(pcVar29 + 0x29036c))(this_01,0xe3,*(int *)(pcVar29 + 0x29035c) + 0x7818)" (parenthesized_expression "(**(code **)(pcVar29 + 0x29036c))" ( (pointer_expression "**(code **)(pcVar29 + 0x29036c)" * (pointer_expression "*(code **)(pcVar29 + 0x29036c)" * (cast_expression "(code **)(pcVar29 + 0x29036c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29036c)" ( (binary_expression "pcVar29 + 0x29036c" identifier + number_literal) ))))) )) (argument_list "(this_01,0xe3,*(int *)(pcVar29 + 0x29035c) + 0x7818)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar29 + 0x29035c) + 0x7818" (pointer_expression "*(int *)(pcVar29 + 0x29035c)" * (cast_expression "(int *)(pcVar29 + 0x29035c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29035c)" ( (binary_expression "pcVar29 + 0x29035c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001a22b4:\n  Output_section::symtab_index((Output_section *)this_01);" statement_identifier : (labeled_statement "Output_section::symtab_index((Output_section *)this_01);" statement_identifier : (ERROR ":" :) (expression_statement "symtab_index((Output_section *)this_01);" (call_expression "symtab_index((Output_section *)this_01)" identifier (argument_list "((Output_section *)this_01)" ( (cast_expression "(Output_section *)this_01" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) (labeled_statement "LAB_001a22c0:\n                    /* WARNING: Subroutine does not return */\n  Layout::dynsym_section(this_01);" statement_identifier : comment (labeled_statement "Layout::dynsym_section(this_01);" statement_identifier : (ERROR ":" :) (expression_statement "dynsym_section(this_01);" (call_expression "dynsym_section(this_01)" identifier (argument_list "(this_01)" ( identifier ))) ;))) (labeled_statement "code_r0x001a1dcc:\n  pSVar11 = this->segment_list_;" statement_identifier : (expression_statement "pSVar11 = this->segment_list_;" (assignment_expression "pSVar11 = this->segment_list_" identifier = (field_expression "this->segment_list_" identifier -> field_identifier)) ;)) (labeled_statement "LAB_001a1dd0:\n  local_30 = local_30 + 1;" statement_identifier : (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;)) (if_statement "if ((pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n      _M_impl._M_finish == local_30) goto LAB_001a1de0;" if (parenthesized_expression "((pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n      _M_impl._M_finish == local_30)" ( (binary_expression "(pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n      _M_impl._M_finish == local_30" (field_expression "(pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n      _M_impl._M_finish" (field_expression "(pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>).\n      _M_impl" (parenthesized_expression "(pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>)" ( (binary_expression "pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_>" (binary_expression "pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold::Output_segment*>_" (binary_expression "pSVar11->super__Vector_base<gold::Output_segment*,_std::allocator<gold" (binary_expression "pSVar11->super__Vector_base<gold::Output_segment*,_std" (binary_expression "pSVar11->super__Vector_base<gold" (field_expression "pSVar11->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_segment" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) == identifier) )) (goto_statement "goto LAB_001a1de0;" goto statement_identifier ;)) (goto_statement "goto LAB_001a1c60;" goto statement_identifier ;) (labeled_statement "LAB_001a1d74:\n  uVar4 = (*p_Var30)();" statement_identifier : (expression_statement "uVar4 = (*p_Var30)();" (assignment_expression "uVar4 = (*p_Var30)()" identifier = (call_expression "(*p_Var30)()" (parenthesized_expression "(*p_Var30)" ( (pointer_expression "*p_Var30" * identifier) )) (argument_list "()" ( )))) ;)) (expression_statement "iVar31 = iVar32;" (assignment_expression "iVar31 = iVar32" identifier = identifier) ;) (goto_statement "goto joined_r0x001a1bd8;" goto statement_identifier ;) (labeled_statement "LAB_001a1fa0:\n  (**(code **)(iVar31 + -0x7e0c))(*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0x1043,iVar5 + 0x7868);" statement_identifier : (expression_statement "(**(code **)(iVar31 + -0x7e0c))(*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0x1043,iVar5 + 0x7868);" (call_expression "(**(code **)(iVar31 + -0x7e0c))(*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0x1043,iVar5 + 0x7868)" (parenthesized_expression "(**(code **)(iVar31 + -0x7e0c))" ( (pointer_expression "**(code **)(iVar31 + -0x7e0c)" * (pointer_expression "*(code **)(iVar31 + -0x7e0c)" * (cast_expression "(code **)(iVar31 + -0x7e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar31 + -0x7e0c)" ( (binary_expression "iVar31 + -0x7e0c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar31 + -0x7e1c) + -0x4fe0,0x1043,iVar5 + 0x7868)" ( (binary_expression "*(int *)(iVar31 + -0x7e1c) + -0x4fe0" (pointer_expression "*(int *)(iVar31 + -0x7e1c)" * (cast_expression "(int *)(iVar31 + -0x7e1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x7e1c)" ( (binary_expression "iVar31 + -0x7e1c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar5 + 0x7868" identifier + number_literal) ))) ;)) (expression_statement "unaff_s0 = pSVar14;" (assignment_expression "unaff_s0 = pSVar14" identifier = identifier) ;) (labeled_statement "LAB_001a1fb8:\n  puVar24 = (uchar *)0x1;" statement_identifier : (expression_statement "puVar24 = (uchar *)0x1;" (assignment_expression "puVar24 = (uchar *)0x1" identifier = (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_001a1de0;" goto statement_identifier ;) (labeled_statement "code_r0x001a21e4:\n  if (-1 < *(int *)(iVar31 + 0x98) << 3) {\n    uVar4 = *(uint *)(iVar31 + 0x44);\n    this_01 = (Layout *)0x0;\n    goto LAB_001a2120;\n  }" statement_identifier : (if_statement "if (-1 < *(int *)(iVar31 + 0x98) << 3) {\n    uVar4 = *(uint *)(iVar31 + 0x44);\n    this_01 = (Layout *)0x0;\n    goto LAB_001a2120;\n  }" if (parenthesized_expression "(-1 < *(int *)(iVar31 + 0x98) << 3)" ( (binary_expression "-1 < *(int *)(iVar31 + 0x98) << 3" number_literal < (binary_expression "*(int *)(iVar31 + 0x98) << 3" (pointer_expression "*(int *)(iVar31 + 0x98)" * (cast_expression "(int *)(iVar31 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x98)" ( (binary_expression "iVar31 + 0x98" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    uVar4 = *(uint *)(iVar31 + 0x44);\n    this_01 = (Layout *)0x0;\n    goto LAB_001a2120;\n  }" { (expression_statement "uVar4 = *(uint *)(iVar31 + 0x44);" (assignment_expression "uVar4 = *(uint *)(iVar31 + 0x44)" identifier = (pointer_expression "*(uint *)(iVar31 + 0x44)" * (cast_expression "(uint *)(iVar31 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x44)" ( (binary_expression "iVar31 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "this_01 = (Layout *)0x0;" (assignment_expression "this_01 = (Layout *)0x0" identifier = (cast_expression "(Layout *)0x0" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001a2120;" goto statement_identifier ;) }))) (expression_statement "this_01 = (Layout *)pLVar17->dynsym_section_;" (assignment_expression "this_01 = (Layout *)pLVar17->dynsym_section_" identifier = (cast_expression "(Layout *)pLVar17->dynsym_section_" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pLVar17->dynsym_section_" identifier -> field_identifier))) ;) (if_statement "if (this_01 == (Layout *)0x0) goto LAB_001a22c0;" if (parenthesized_expression "(this_01 == (Layout *)0x0)" ( (binary_expression "this_01 == (Layout *)0x0" identifier == (cast_expression "(Layout *)0x0" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001a22c0;" goto statement_identifier ;)) (expression_statement "p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb];" (assignment_expression "p_Var25 = ((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb]" identifier = (subscript_expression "((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data[0xb]" (field_expression "((Output_data *)&this_01->number_of_input_files_)->_vptr_Output_data" (parenthesized_expression "((Output_data *)&this_01->number_of_input_files_)" ( (cast_expression "(Output_data *)&this_01->number_of_input_files_" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_01->number_of_input_files_" & (field_expression "this_01->number_of_input_files_" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var25 != *(_func_int_varargs **)(pcVar29 + 0x290eac)) goto LAB_001a210c;" if (parenthesized_expression "(p_Var25 != *(_func_int_varargs **)(pcVar29 + 0x290eac))" ( (binary_expression "p_Var25 != *(_func_int_varargs **)(pcVar29 + 0x290eac)" identifier != (pointer_expression "*(_func_int_varargs **)(pcVar29 + 0x290eac)" * (cast_expression "(_func_int_varargs **)(pcVar29 + 0x290eac)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x290eac)" ( (binary_expression "pcVar29 + 0x290eac" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001a210c;" goto statement_identifier ;)) (expression_statement "uVar4 = (this_01->sympool_).string_set_._M_h._M_element_count;" (assignment_expression "uVar4 = (this_01->sympool_).string_set_._M_h._M_element_count" identifier = (field_expression "(this_01->sympool_).string_set_._M_h._M_element_count" (field_expression "(this_01->sympool_).string_set_._M_h" (field_expression "(this_01->sympool_).string_set_" (parenthesized_expression "(this_01->sympool_)" ( (field_expression "this_01->sympool_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "this_01 = (Layout *)0xffffffff;" (assignment_expression "this_01 = (Layout *)0xffffffff" identifier = (cast_expression "(Layout *)0xffffffff" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = *(int *)(pcVar29 + 0x29035c);" (assignment_expression "iVar32 = *(int *)(pcVar29 + 0x29035c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x29035c)" * (cast_expression "(int *)(pcVar29 + 0x29035c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29035c)" ( (binary_expression "pcVar29 + 0x29035c" identifier + number_literal) ))))) ;) (if_statement "if (uVar4 != 0xffffffff) goto LAB_001a2120;" if (parenthesized_expression "(uVar4 != 0xffffffff)" ( (binary_expression "uVar4 != 0xffffffff" identifier != number_literal) )) (goto_statement "goto LAB_001a2120;" goto statement_identifier ;)) (labeled_statement "LAB_001a215c:\n  piVar18 = (int *)0x1043;" statement_identifier : (expression_statement "piVar18 = (int *)0x1043;" (assignment_expression "piVar18 = (int *)0x1043" identifier = (cast_expression "(int *)0x1043" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar4 = *(int *)(pcVar29 + 0x29035c) - 0x4fe0;" (assignment_expression "uVar4 = *(int *)(pcVar29 + 0x29035c) - 0x4fe0" identifier = (binary_expression "*(int *)(pcVar29 + 0x29035c) - 0x4fe0" (pointer_expression "*(int *)(pcVar29 + 0x29035c)" * (cast_expression "(int *)(pcVar29 + 0x29035c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x29035c)" ( (binary_expression "pcVar29 + 0x29035c" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "(**(code **)(pcVar29 + 0x29036c))(uVar4,0x1043,iVar32 + 0x7868);" (call_expression "(**(code **)(pcVar29 + 0x29036c))(uVar4,0x1043,iVar32 + 0x7868)" (parenthesized_expression "(**(code **)(pcVar29 + 0x29036c))" ( (pointer_expression "**(code **)(pcVar29 + 0x29036c)" * (pointer_expression "*(code **)(pcVar29 + 0x29036c)" * (cast_expression "(code **)(pcVar29 + 0x29036c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x29036c)" ( (binary_expression "pcVar29 + 0x29036c" identifier + number_literal) ))))) )) (argument_list "(uVar4,0x1043,iVar32 + 0x7868)" ( identifier , number_literal , (binary_expression "iVar32 + 0x7868" identifier + number_literal) ))) ;) (expression_statement "pSVar14 = extraout_v1_00;" (assignment_expression "pSVar14 = extraout_v1_00" identifier = identifier) ;) (labeled_statement "LAB_001a2170:\n  uVar4 = uVar4 | 0x40;" statement_identifier : (expression_statement "uVar4 = uVar4 | 0x40;" (assignment_expression "uVar4 = uVar4 | 0x40" identifier = (binary_expression "uVar4 | 0x40" identifier | number_literal)) ;)) (goto_statement "goto LAB_001a20c8;" goto statement_identifier ;) (ERROR "}" }))
(translation_unit "void __thiscall\ngold::Output_section_headers::do_sized_write<32,false>\n          (Output_section_headers *this,Output_file *param_1)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  uint extraout_v1;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  code *pcVar16;\n  undefined4 *local_48 [2];\n  undefined4 local_40;\n  undefined4 local_3c;\n  code *local_38;\n  int *local_34;\n  int *local_30;\n  \n  puVar2 = PTR_FUN_00432fc8;\n  if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }\n  uVar7 = *(undefined4 *)(this + 0x10);\n  uVar5 = *(uint *)(this + 0x14);\n  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_001a2020;\n  if (-1 < *(int *)(this + 0x18)) {\n    uVar11 = uVar5 + *(int *)(this + 0x1c);\n    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);\n    if ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }\n  }\n  FUN_00182b60(uVar7);\nLAB_001a2020:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);\n  return;\n}\n\n" (declaration "void __thiscall\ngold::Output_section_headers::do_sized_write<32,false>\n          (Output_section_headers *this,Output_file *param_1)\n\n{\n  undefined *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_section_headers::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>\n          (Output_section_headers *this,Output_file *param_1)\n\n{\n  undefined" (function_declarator "false>\n          (Output_section_headers *this,Output_file *param_1)" identifier (ERROR ">" >) (parameter_list "(Output_section_headers *this,Output_file *param_1)" ( (parameter_declaration "Output_section_headers *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined4 *local_48 [2];" type_identifier (pointer_declarator "*local_48 [2]" * (array_declarator "local_48 [2]" identifier [ number_literal ])) ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "code *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (expression_statement "puVar2 = PTR_FUN_00432fc8;" (assignment_expression "puVar2 = PTR_FUN_00432fc8" identifier = identifier) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(this + 0x20) << 1" number_literal < (binary_expression "*(int *)(this + 0x20) << 1" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7894" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar7 = *(undefined4 *)(this + 0x10);" (assignment_expression "uVar7 = *(undefined4 *)(this + 0x10)" identifier = (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(uint *)(this + 0x14);" (assignment_expression "uVar5 = *(uint *)(this + 0x14)" identifier = (pointer_expression "*(uint *)(this + 0x14)" * (cast_expression "(uint *)(this + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_001a2020;" 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_001a2020;" goto statement_identifier ;)) (if_statement "if (-1 < *(int *)(this + 0x18)) {\n    uVar11 = uVar5 + *(int *)(this + 0x1c);\n    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);\n    if ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }\n  }" if (parenthesized_expression "(-1 < *(int *)(this + 0x18))" ( (binary_expression "-1 < *(int *)(this + 0x18)" number_literal < (pointer_expression "*(int *)(this + 0x18)" * (cast_expression "(int *)(this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x18)" ( (binary_expression "this + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar11 = uVar5 + *(int *)(this + 0x1c);\n    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);\n    if ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }\n  }" { (expression_statement "uVar11 = uVar5 + *(int *)(this + 0x1c);" (assignment_expression "uVar11 = uVar5 + *(int *)(this + 0x1c)" identifier = (binary_expression "uVar5 + *(int *)(this + 0x1c)" identifier + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);" (assignment_expression "iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18)" identifier = (binary_expression "(uint)(uVar11 < uVar5) + *(int *)(this + 0x18)" (call_expression "(uint)(uVar11 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar5)" ( (binary_expression "uVar11 < uVar5" 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 ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }" if (parenthesized_expression "((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc)))))" ( (binary_expression "(iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))" (parenthesized_expression "(iVar3 <= *(int *)(param_1 + 8))" ( (binary_expression "iVar3 <= *(int *)(param_1 + 8)" identifier <= (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))" ( (parenthesized_expression "(*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc)))" ( (binary_expression "*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))" (binary_expression "*(int *)(param_1 + 8) != iVar3" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar11 <= *(uint *)(param_1 + 0xc))" ( (binary_expression "uVar11 <= *(uint *)(param_1 + 0xc)" identifier <= (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }" { (expression_statement "puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));" (assignment_expression "puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" identifier = (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" ( (binary_expression "*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c)" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(this + 0x1c)" * (cast_expression "(int *)(this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1c)" ( (binary_expression "this + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar13 = 0;" (assignment_expression "*puVar13 = 0" (pointer_expression "*puVar13" * identifier) = number_literal) ;) (expression_statement "puVar13[1] = 0;" (assignment_expression "puVar13[1] = 0" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[2] = 0;" (assignment_expression "puVar13[2] = 0" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[3] = 0;" (assignment_expression "puVar13[3] = 0" (subscript_expression "puVar13[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[4] = 0;" (assignment_expression "puVar13[4] = 0" (subscript_expression "puVar13[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*(code *)puVar2)(uVar7,uVar5,0,0x28);" (call_expression "(*(code *)puVar2)(uVar7,uVar5,0,0x28)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,uVar5,0,0x28)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "puVar2 = PTR_do_out_shndx_00432f04;" (assignment_expression "puVar2 = PTR_do_out_shndx_00432f04" identifier = identifier) ;) (if_statement "if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" if (parenthesized_expression "(extraout_v1 < 0xff00)" ( (binary_expression "extraout_v1 < 0xff00" identifier < number_literal) )) (compound_statement "{\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }" { (expression_statement "piVar8 = *(int **)(this + 0x38);" (assignment_expression "piVar8 = *(int **)(this + 0x38)" identifier = (pointer_expression "*(int **)(this + 0x38)" * (cast_expression "(int **)(this + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x38)" ( (binary_expression "this + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar13[5] = 0;" (assignment_expression "puVar13[5] = 0" (subscript_expression "puVar13[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x2c)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;" if (parenthesized_expression "(pcVar16 == (code *)puVar2)" ( (binary_expression "pcVar16 == (code *)puVar2" identifier == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_001a1bc4;" goto statement_identifier ;)) (labeled_statement "LAB_001a1d74:\n        uVar5 = (*pcVar16)();" statement_identifier : (expression_statement "uVar5 = (*pcVar16)();" (assignment_expression "uVar5 = (*pcVar16)()" identifier = (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( )))) ;)) (if_statement "if (0xfeff < uVar5) goto LAB_001a1be0;" if (parenthesized_expression "(0xfeff < uVar5)" ( (binary_expression "0xfeff < uVar5" number_literal < identifier) )) (goto_statement "goto LAB_001a1be0;" goto statement_identifier ;)) (labeled_statement "LAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);" statement_identifier : (expression_statement "piVar8 = *(int **)(this + 0x28);" (assignment_expression "piVar8 = *(int **)(this + 0x28)" identifier = (pointer_expression "*(int **)(this + 0x28)" * (cast_expression "(int **)(this + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) ))))) ;)) (expression_statement "puVar13[6] = 0;" (assignment_expression "puVar13[6] = 0" (subscript_expression "puVar13[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9 = (int *)*piVar8;" (assignment_expression "piVar9 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "piVar10 = (int *)piVar8[1];" (assignment_expression "piVar10 = (int *)piVar8[1]" identifier = (cast_expression "(int *)piVar8[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar5 = (int)piVar10 - (int)piVar9 >> 2;" (assignment_expression "uVar5 = (int)piVar10 - (int)piVar9 >> 2" identifier = (binary_expression "(int)piVar10 - (int)piVar9 >> 2" (binary_expression "(int)piVar10 - (int)piVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (if_statement "if (0xfffe < uVar5) goto LAB_001a1c10;" if (parenthesized_expression "(0xfffe < uVar5)" ( (binary_expression "0xfffe < uVar5" number_literal < identifier) )) (goto_statement "goto LAB_001a1c10;" goto statement_identifier ;)) (labeled_statement "LAB_001a1db8:\n        iVar3 = 0;" statement_identifier : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" else (compound_statement "{\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" { (expression_statement "piVar8 = *(int **)(this + 0x38);" (assignment_expression "piVar8 = *(int **)(this + 0x38)" identifier = (pointer_expression "*(int **)(this + 0x38)" * (cast_expression "(int **)(this + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x38)" ( (binary_expression "this + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *piVar8;" (assignment_expression "iVar3 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;" (assignment_expression "puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (subscript_expression "puVar13[5]" identifier [ number_literal ]) = (binary_expression "(((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10)" ( (binary_expression "(extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10" (binary_expression "(extraout_v1 >> 0x10) << 0x18" (parenthesized_expression "(extraout_v1 >> 0x10)" ( (binary_expression "extraout_v1 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(extraout_v1 >> 0x18) << 0x10" (parenthesized_expression "(extraout_v1 >> 0x18)" ( (binary_expression "extraout_v1 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff)" ( (binary_expression "(extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff" (binary_expression "(extraout_v1 & 0xff) << 8" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "extraout_v1 >> 8 & 0xff" (binary_expression "extraout_v1 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "pcVar16 = *(code **)(iVar3 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(iVar3 + 0x2c)" identifier = (pointer_expression "*(code **)(iVar3 + 0x2c)" * (cast_expression "(code **)(iVar3 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x2c)" ( (binary_expression "iVar3 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;" if (parenthesized_expression "(pcVar16 != (code *)puVar2)" ( (binary_expression "pcVar16 != (code *)puVar2" identifier != (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_001a1d74;" goto statement_identifier ;)) (labeled_statement "LAB_001a1bc4:\n        uVar5 = piVar8[0x19];" statement_identifier : (expression_statement "uVar5 = piVar8[0x19];" (assignment_expression "uVar5 = piVar8[0x19]" identifier = (subscript_expression "piVar8[0x19]" identifier [ number_literal ])) ;)) (if_statement "if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }" if (parenthesized_expression "(uVar5 == 0xffffffff)" ( (binary_expression "uVar5 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }" { (labeled_statement "LAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7868" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if (uVar5 < 0xff00) goto LAB_001a1d8c;" if (parenthesized_expression "(uVar5 < 0xff00)" ( (binary_expression "uVar5 < 0xff00" identifier < number_literal) )) (goto_statement "goto LAB_001a1d8c;" goto statement_identifier ;)) (labeled_statement "LAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);" statement_identifier : (expression_statement "piVar8 = *(int **)(this + 0x28);" (assignment_expression "piVar8 = *(int **)(this + 0x28)" identifier = (pointer_expression "*(int **)(this + 0x28)" * (cast_expression "(int **)(this + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) ))))) ;)) (expression_statement "piVar9 = (int *)*piVar8;" (assignment_expression "piVar9 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "piVar10 = (int *)piVar8[1];" (assignment_expression "piVar10 = (int *)piVar8[1]" identifier = (cast_expression "(int *)piVar8[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "puVar13[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 "uVar5 = (int)piVar10 - (int)piVar9 >> 2;" (assignment_expression "uVar5 = (int)piVar10 - (int)piVar9 >> 2" identifier = (binary_expression "(int)piVar10 - (int)piVar9 >> 2" (binary_expression "(int)piVar10 - (int)piVar9" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (if_statement "if (uVar5 < 0xffff) goto LAB_001a1db8;" if (parenthesized_expression "(uVar5 < 0xffff)" ( (binary_expression "uVar5 < 0xffff" identifier < number_literal) )) (goto_statement "goto LAB_001a1db8;" goto statement_identifier ;)) (labeled_statement "LAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" statement_identifier : (expression_statement "iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" identifier = (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 "puVar1 = PTR_parameters_00432be0;" (assignment_expression "puVar1 = PTR_parameters_00432be0" identifier = identifier) ;) (expression_statement "local_34 = (int *)PTR_parameters_00432be0;" (assignment_expression "local_34 = (int *)PTR_parameters_00432be0" identifier = (cast_expression "(int *)PTR_parameters_00432be0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar13[7] = iVar3;" (assignment_expression "puVar13[7] = iVar3" (subscript_expression "puVar13[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[8] = 0;" (assignment_expression "puVar13[8] = 0" (subscript_expression "puVar13[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar13[9] = 0;" (assignment_expression "puVar13[9] = 0" (subscript_expression "puVar13[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13 = puVar13 + 10;" (assignment_expression "puVar13 = puVar13 + 10" identifier = (binary_expression "puVar13 + 10" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" ( (binary_expression "*(int *)(iVar3 + 8) == 0" (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) )))) == number_literal) )) (compound_statement "{\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }" { (labeled_statement "LAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x78cc" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" if (parenthesized_expression "(*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0')" ( (binary_expression "*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(iVar3 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(iVar3 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 8) + 0x3195)" ( (binary_expression "*(int *)(iVar3 + 8) + 0x3195" (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) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }" { (if_statement "if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }" if (parenthesized_expression "(piVar9 == piVar10)" ( (binary_expression "piVar9 == piVar10" identifier == identifier) )) (compound_statement "{\nLAB_001a1fb8:\n          iVar3 = 1;\n        }" { (labeled_statement "LAB_001a1fb8:\n          iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) }) (else_clause "else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }" else (compound_statement "{\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }" { (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "local_38 = (code *)PTR_write_header<32,false>_00434a4c;" (comma_expression "local_38 = (code *)PTR_write_header<32,false>_00434a4c" (assignment_expression "local_38 = (code *)PTR_write_header<32" identifier = (binary_expression "(code *)PTR_write_header<32" (cast_expression "(code *)PTR_write_header" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < number_literal)) , (binary_expression "false>_00434a4c" false > identifier)) ;) (expression_statement "local_30 = piVar9;" (assignment_expression "local_30 = piVar9" identifier = identifier) ;) (do_statement "do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);" do (compound_statement "{\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          }" { (expression_statement "iVar14 = *local_30;" (assignment_expression "iVar14 = *local_30" identifier = (pointer_expression "*local_30" * identifier)) ;) (if_statement "if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }" if (parenthesized_expression "(*(int *)(iVar14 + 0x198) == 1)" ( (binary_expression "*(int *)(iVar14 + 0x198) == 1" (pointer_expression "*(int *)(iVar14 + 0x198)" * (cast_expression "(int *)(iVar14 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x198)" ( (binary_expression "iVar14 + 0x198" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }" { (expression_statement "local_40 = *(undefined4 *)(this + 0x24);" (assignment_expression "local_40 = *(undefined4 *)(this + 0x24)" identifier = (pointer_expression "*(undefined4 *)(this + 0x24)" * (cast_expression "(undefined4 *)(this + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) ))))) ;) (expression_statement "piVar8 = (int *)(iVar14 + 4);" (assignment_expression "piVar8 = (int *)(iVar14 + 4)" identifier = (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) ;) (expression_statement "local_3c = *(undefined4 *)(this + 0x34);" (assignment_expression "local_3c = *(undefined4 *)(this + 0x34)" identifier = (pointer_expression "*(undefined4 *)(this + 0x34)" * (cast_expression "(undefined4 *)(this + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x34)" ( (binary_expression "this + 0x34" identifier + number_literal) ))))) ;) (do_statement "do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);" do (compound_statement "{\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              }" { (expression_statement "puVar6 = (undefined4 *)piVar8[-1];" (assignment_expression "puVar6 = (undefined4 *)piVar8[-1]" identifier = (cast_expression "(undefined4 *)piVar8[-1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[-1]" identifier [ number_literal ]))) ;) (if_statement "if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }" if (parenthesized_expression "((undefined4 *)*piVar8 != puVar6)" ( (binary_expression "(undefined4 *)*piVar8 != puVar6" (cast_expression "(undefined4 *)*piVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier)) != identifier) )) (compound_statement "{\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }" { (expression_statement "piVar9 = (int *)*puVar6;" (assignment_expression "piVar9 = (int *)*puVar6" identifier = (cast_expression "(int *)*puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "puVar15 = puVar13;" (assignment_expression "puVar15 = puVar13" identifier = identifier) ;) (while_statement "while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }" { (expression_statement "iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);" (assignment_expression "iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 0x18))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0x18))" ( (pointer_expression "**(code **)(*piVar9 + 0x18)" * (pointer_expression "*(code **)(*piVar9 + 0x18)" * (cast_expression "(code **)(*piVar9 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0x18)" ( (binary_expression "*piVar9 + 0x18" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (expression_statement "puVar13 = puVar15;" (assignment_expression "puVar13 = puVar15" identifier = identifier) ;) (if_statement "if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }" { (expression_statement "piVar9 = (int *)*puVar6;" (assignment_expression "piVar9 = (int *)*puVar6" identifier = (cast_expression "(int *)*puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }" if (parenthesized_expression "(*(code **)(*piVar9 + 0x2c) == (code *)puVar2)" ( (binary_expression "*(code **)(*piVar9 + 0x2c) == (code *)puVar2" (pointer_expression "*(code **)(*piVar9 + 0x2c)" * (cast_expression "(code **)(*piVar9 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0x2c)" ( (binary_expression "*piVar9 + 0x2c" (pointer_expression "*piVar9" * identifier) + number_literal) )))) == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }" { (expression_statement "iVar4 = piVar9[0x19];" (assignment_expression "iVar4 = piVar9[0x19]" identifier = (subscript_expression "piVar9[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar4 == -1) goto LAB_001a1fa0;" if (parenthesized_expression "(iVar4 == -1)" ( (binary_expression "iVar4 == -1" identifier == number_literal) )) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;)) }) (else_clause "else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }" else (compound_statement "{\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }" { (expression_statement "iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);" (assignment_expression "iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9)" identifier = (call_expression "(**(code **)(*piVar9 + 0x2c))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0x2c))" ( (pointer_expression "**(code **)(*piVar9 + 0x2c)" * (pointer_expression "*(code **)(*piVar9 + 0x2c)" * (cast_expression "(code **)(*piVar9 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0x2c)" ( (binary_expression "*piVar9 + 0x2c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) }))) (if_statement "if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }" if (parenthesized_expression "(iVar4 != iVar3)" ( (binary_expression "iVar4 != iVar3" identifier != identifier) )) (compound_statement "{\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + 0x59f0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7878" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar15 + 10;" (assignment_expression "puVar13 = puVar15 + 10" identifier = (binary_expression "puVar15 + 10" identifier + number_literal)) ;) (expression_statement "local_48[0] = puVar15;" (assignment_expression "local_48[0] = puVar15" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*local_38)(piVar9,local_40,local_3c,local_48);" (call_expression "(*local_38)(piVar9,local_40,local_3c,local_48)" (parenthesized_expression "(*local_38)" ( (pointer_expression "*local_38" * identifier) )) (argument_list "(piVar9,local_40,local_3c,local_48)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "puVar6 = puVar6 + 1;" (assignment_expression "puVar6 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined4 *)*piVar8 == puVar6) break;" if (parenthesized_expression "((undefined4 *)*piVar8 == puVar6)" ( (binary_expression "(undefined4 *)*piVar8 == puVar6" (cast_expression "(undefined4 *)*piVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier)) == identifier) )) (break_statement "break;" break ;)) (expression_statement "piVar9 = (int *)*puVar6;" (assignment_expression "piVar9 = (int *)*puVar6" identifier = (cast_expression "(int *)*puVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "puVar15 = puVar13;" (assignment_expression "puVar15 = puVar13" identifier = identifier) ;) })) })) (expression_statement "piVar8 = piVar8 + 3;" (assignment_expression "piVar8 = piVar8 + 3" identifier = (binary_expression "piVar8 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "((int *)(iVar14 + 0x160) != piVar8)" ( (binary_expression "(int *)(iVar14 + 0x160) != piVar8" (cast_expression "(int *)(iVar14 + 0x160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x160)" ( (binary_expression "iVar14 + 0x160" identifier + number_literal) ))) != identifier) )) ;) (expression_statement "piVar8 = *(int **)(this + 0x28);" (assignment_expression "piVar8 = *(int **)(this + 0x28)" identifier = (pointer_expression "*(int **)(this + 0x28)" * (cast_expression "(int **)(this + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) ))))) ;) })) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int *)piVar8[1] != local_30)" ( (binary_expression "(int *)piVar8[1] != local_30" (cast_expression "(int *)piVar8[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[1]" identifier [ number_literal ])) != identifier) )) ;) }))) }) (else_clause "else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" else (compound_statement "{\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" { (expression_statement "puVar6 = *(undefined4 **)(this + 0x2c);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x2c)" identifier = (pointer_expression "*(undefined4 **)(this + 0x2c)" * (cast_expression "(undefined4 **)(this + 0x2c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x2c)" ( (binary_expression "this + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = (undefined4 *)*puVar6;" (assignment_expression "puVar15 = (undefined4 *)*puVar6" identifier = (cast_expression "(undefined4 *)*puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;" if (parenthesized_expression "((undefined4 *)puVar6[1] == puVar15)" ( (binary_expression "(undefined4 *)puVar6[1] == puVar15" (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])) == identifier) )) (goto_statement "goto LAB_001a1fb8;" goto statement_identifier ;)) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (do_statement "do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);" do (compound_statement "{\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        }" { (expression_statement "piVar8 = (int *)*puVar15;" (assignment_expression "piVar8 = (int *)*puVar15" identifier = (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (if_statement "if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }" if (parenthesized_expression "(((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11))" ( (binary_expression "((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)" (parenthesized_expression "((piVar8[0x17] & 2U) != 0)" ( (binary_expression "(piVar8[0x17] & 2U) != 0" (parenthesized_expression "(piVar8[0x17] & 2U)" ( (binary_expression "piVar8[0x17] & 2U" (subscript_expression "piVar8[0x17]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(puVar13 = puVar12, piVar8[0x15] == 0x11)" ( (comma_expression "puVar13 = puVar12, piVar8[0x15] == 0x11" (assignment_expression "puVar13 = puVar12" identifier = identifier) , (binary_expression "piVar8[0x15] == 0x11" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }" { (if_statement "if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }" if (parenthesized_expression "(*(code **)(*piVar8 + 0x2c) == (code *)puVar2)" ( (binary_expression "*(code **)(*piVar8 + 0x2c) == (code *)puVar2" (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) )))) == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }" { (expression_statement "iVar14 = piVar8[0x19];" (assignment_expression "iVar14 = piVar8[0x19]" identifier = (subscript_expression "piVar8[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar14 == -1) goto LAB_001a1fa0;" if (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;)) }) (else_clause "else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }" else (compound_statement "{\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }" { (expression_statement "iVar14 = (**(code **)(*piVar8 + 0x2c))();" (assignment_expression "iVar14 = (**(code **)(*piVar8 + 0x2c))()" identifier = (call_expression "(**(code **)(*piVar8 + 0x2c))()" (parenthesized_expression "(**(code **)(*piVar8 + 0x2c))" ( (pointer_expression "**(code **)(*piVar8 + 0x2c)" * (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }))) (if_statement "if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }" if (parenthesized_expression "(iVar14 != iVar3)" ( (binary_expression "iVar14 != iVar3" identifier != identifier) )) (compound_statement "{\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }" { (expression_statement "uVar7 = 0x155;" (assignment_expression "uVar7 = 0x155" identifier = number_literal) ;) (goto_statement "goto LAB_001a1fc4;" goto statement_identifier ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar12 + 10;" (assignment_expression "puVar13 = puVar12 + 10" identifier = (binary_expression "puVar12 + 10" identifier + number_literal)) ;) (expression_statement "local_48[0] = puVar12;" (assignment_expression "local_48[0] = puVar12" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" statement_identifier : (ERROR ":" :) (expression_statement "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" (comma_expression "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (binary_expression "write_header<32" identifier < number_literal) , (binary_expression "false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" false > (parenthesized_expression "((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" ( (comma_expression "(Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (cast_expression "(Output_section *)*puVar15" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) , (comma_expression "*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Layout **)(this + 0x24)" * (cast_expression "(Layout **)(this + 0x24)" ( (type_descriptor "Layout **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) , (comma_expression "*(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Stringpool_template **)(this + 0x34)" * (cast_expression "(Stringpool_template **)(this + 0x34)" ( (type_descriptor "Stringpool_template **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x34)" ( (binary_expression "this + 0x34" identifier + number_literal) )))) , (cast_expression "(Shdr_write *)local_48" ( (type_descriptor "Shdr_write *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) )))) ;)) (expression_statement "puVar6 = *(undefined4 **)(this + 0x2c);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x2c)" identifier = (pointer_expression "*(undefined4 **)(this + 0x2c)" * (cast_expression "(undefined4 **)(this + 0x2c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x2c)" ( (binary_expression "this + 0x2c" identifier + number_literal) ))))) ;) })) (expression_statement "puVar15 = puVar15 + 1;" (assignment_expression "puVar15 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) }) while (parenthesized_expression "((undefined4 *)puVar6[1] != puVar15)" ( (binary_expression "(undefined4 *)puVar6[1] != puVar15" (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])) != identifier) )) ;) }))) (expression_statement "puVar6 = *(undefined4 **)(this + 0x30);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x30)" identifier = (pointer_expression "*(undefined4 **)(this + 0x30)" * (cast_expression "(undefined4 **)(this + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x30)" ( (binary_expression "this + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = (undefined4 *)*puVar6;" (assignment_expression "puVar15 = (undefined4 *)*puVar6" identifier = (cast_expression "(undefined4 *)*puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" if (parenthesized_expression "(puVar15 != (undefined4 *)puVar6[1])" ( (binary_expression "puVar15 != (undefined4 *)puVar6[1]" identifier != (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" { (do_statement "do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);" do (compound_statement "{\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        }" { (expression_statement "piVar8 = (int *)*puVar15;" (assignment_expression "piVar8 = (int *)*puVar15" identifier = (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (if_statement "if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }" if (parenthesized_expression "(piVar8[0x15] == 0x11)" ( (binary_expression "piVar8[0x15] == 0x11" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }" { (if_statement "if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;" if (parenthesized_expression "(*(int *)(*local_34 + 8) == 0)" ( (binary_expression "*(int *)(*local_34 + 8) == 0" (pointer_expression "*(int *)(*local_34 + 8)" * (cast_expression "(int *)(*local_34 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_34 + 8)" ( (binary_expression "*local_34 + 8" (pointer_expression "*local_34" * identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001a1fe8;" goto statement_identifier ;)) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (if_statement "if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }" if (parenthesized_expression "(*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0')" ( (binary_expression "*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(*local_34 + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(*local_34 + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_34 + 8) + 0x3195)" ( (binary_expression "*(int *)(*local_34 + 8) + 0x3195" (pointer_expression "*(int *)(*local_34 + 8)" * (cast_expression "(int *)(*local_34 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_34 + 8)" ( (binary_expression "*local_34 + 8" (pointer_expression "*local_34" * identifier) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }" { (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x2c)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;" if (parenthesized_expression "(pcVar16 == (code *)puVar2)" ( (binary_expression "pcVar16 == (code *)puVar2" identifier == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_001a1e14;" goto statement_identifier ;)) (labeled_statement "LAB_001a1e9c:\n              iVar14 = (*pcVar16)();" statement_identifier : (expression_statement "iVar14 = (*pcVar16)();" (assignment_expression "iVar14 = (*pcVar16)()" identifier = (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( )))) ;)) (goto_statement "goto LAB_001a1e20;" goto statement_identifier ;) })) }) (else_clause "else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }" else (compound_statement "{\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }" { (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x2c)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x2c)" * (cast_expression "(code **)(*piVar8 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;" if (parenthesized_expression "(pcVar16 != (code *)puVar2)" ( (binary_expression "pcVar16 != (code *)puVar2" identifier != (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_001a1e9c;" goto statement_identifier ;)) (labeled_statement "LAB_001a1e14:\n            iVar14 = piVar8[0x19];" statement_identifier : (expression_statement "iVar14 = piVar8[0x19];" (assignment_expression "iVar14 = piVar8[0x19]" identifier = (subscript_expression "piVar8[0x19]" identifier [ number_literal ])) ;)) (if_statement "if (iVar14 == -1) goto LAB_001a1fa0;" if (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) (goto_statement "goto LAB_001a1fa0;" goto statement_identifier ;)) (labeled_statement "LAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }" statement_identifier : (if_statement "if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }" if (parenthesized_expression "(iVar3 != iVar14)" ( (binary_expression "iVar3 != iVar14" identifier != identifier) )) (compound_statement "{\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }" { (expression_statement "uVar7 = 0x167;" (assignment_expression "uVar7 = 0x167" identifier = number_literal) ;) (labeled_statement "LAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + 0x59f0" identifier + number_literal) , identifier , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x78b0" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) }))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar12 = puVar13 + 10;" (assignment_expression "puVar12 = puVar13 + 10" identifier = (binary_expression "puVar13 + 10" identifier + number_literal)) ;) (expression_statement "local_48[0] = puVar13;" (assignment_expression "local_48[0] = puVar13" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" statement_identifier : (ERROR ":" :) (expression_statement "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" (comma_expression "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (binary_expression "write_header<32" identifier < number_literal) , (binary_expression "false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" false > (parenthesized_expression "((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" ( (comma_expression "(Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (cast_expression "(Output_section *)*puVar15" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) , (comma_expression "*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Layout **)(this + 0x24)" * (cast_expression "(Layout **)(this + 0x24)" ( (type_descriptor "Layout **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x24)" ( (binary_expression "this + 0x24" identifier + number_literal) )))) , (comma_expression "*(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Stringpool_template **)(this + 0x34)" * (cast_expression "(Stringpool_template **)(this + 0x34)" ( (type_descriptor "Stringpool_template **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x34)" ( (binary_expression "this + 0x34" identifier + number_literal) )))) , (cast_expression "(Shdr_write *)local_48" ( (type_descriptor "Shdr_write *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) )))) ;)) (expression_statement "puVar6 = *(undefined4 **)(this + 0x30);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x30)" identifier = (pointer_expression "*(undefined4 **)(this + 0x30)" * (cast_expression "(undefined4 **)(this + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x30)" ( (binary_expression "this + 0x30" identifier + number_literal) ))))) ;) }))) (expression_statement "puVar15 = puVar15 + 1;" (assignment_expression "puVar15 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" identifier = identifier) ;) }) while (parenthesized_expression "((undefined4 *)puVar6[1] != puVar15)" ( (binary_expression "(undefined4 *)puVar6[1] != puVar15" (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])) != identifier) )) ;) })) (if_statement "if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(this + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(this + 0x20) << 2 < 0" (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" * (cast_expression "(int *)(this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20)" ( (binary_expression "this + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_001a2020;" goto statement_identifier ;) })) })) (expression_statement "FUN_00182b60(uVar7);" (call_expression "FUN_00182b60(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (labeled_statement "LAB_001a2020:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" ( (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7818" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) (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)) ))) { IDENT) (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (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)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression 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 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 ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < 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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (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 = (pointer_expression * IDENT)) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < LIT)) , (binary_expression BOOL > IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) ;) }))) }) (else_clause else (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 *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (parenthesized_expression ( (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (comma_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (comma_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (parenthesized_expression ( (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (comma_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (comma_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) (ERROR }))
(declaration "void __thiscall\ngold::Output_section_headers::do_sized_write<32,false>\n          (Output_section_headers *this,Output_file *param_1)\n\n{\n  undefined *puVar1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Output_section_headers::" (identifier "gold") (: ":") (: ":") (identifier "Output_section_headers") (: ":") (: ":")) (identifier "do_sized_write") (ERROR "<32" (< "<") (number_literal "32")) (, ",") (ERROR "false>\n          (Output_section_headers *this,Output_file *param_1)\n\n{\n  undefined" (function_declarator "false>\n          (Output_section_headers *this,Output_file *param_1)" (identifier "false") (ERROR ">" (> ">")) (parameter_list "(Output_section_headers *this,Output_file *param_1)" (( "(") (parameter_declaration "Output_section_headers *this" (type_identifier "Output_section_headers") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Output_file *param_1" (type_identifier "Output_file") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) ({ "{") (identifier "undefined")) (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (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 "uint extraout_v1;" (type_identifier "uint") (identifier "extraout_v1") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined4 *puVar13;" (type_identifier "undefined4") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "code *pcVar16;" (type_identifier "code") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "undefined4 *local_48 [2];" (type_identifier "undefined4") (pointer_declarator "*local_48 [2]" (* "*") (array_declarator "local_48 [2]" (identifier "local_48") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "code *local_38;" (type_identifier "code") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int *local_34;" (primitive_type "int") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "int *local_30;" (primitive_type "int") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (expression_statement "puVar2 = PTR_FUN_00432fc8;" (assignment_expression "puVar2 = PTR_FUN_00432fc8" (identifier "puVar2") (= "=") (identifier "PTR_FUN_00432fc8")) (; ";")) (if_statement "if (-1 < *(int *)(this + 0x20) << 1) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" (if "if") (parenthesized_expression "(-1 < *(int *)(this + 0x20) << 1)" (( "(") (binary_expression "-1 < *(int *)(this + 0x20) << 1" (number_literal "-1") (< "<") (binary_expression "*(int *)(this + 0x20) << 1" (pointer_expression "*(int *)(this + 0x20)" (* "*") (cast_expression "(int *)(this + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x20)" (( "(") (binary_expression "this + 0x20" (identifier "this") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1"))) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7894" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x7894")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar7 = *(undefined4 *)(this + 0x10);" (assignment_expression "uVar7 = *(undefined4 *)(this + 0x10)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(this + 0x10)" (* "*") (cast_expression "(undefined4 *)(this + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(this + 0x14);" (assignment_expression "uVar5 = *(uint *)(this + 0x14)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(this + 0x14)" (* "*") (cast_expression "(uint *)(this + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (-1 < *(int *)(this + 0x20) << 2) goto LAB_001a2020;" (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_001a2020;" (goto "goto") (statement_identifier "LAB_001a2020") (; ";"))) (if_statement "if (-1 < *(int *)(this + 0x18)) {\n    uVar11 = uVar5 + *(int *)(this + 0x1c);\n    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);\n    if ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }\n  }" (if "if") (parenthesized_expression "(-1 < *(int *)(this + 0x18))" (( "(") (binary_expression "-1 < *(int *)(this + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(this + 0x18)" (* "*") (cast_expression "(int *)(this + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x18)" (( "(") (binary_expression "this + 0x18" (identifier "this") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n    uVar11 = uVar5 + *(int *)(this + 0x1c);\n    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);\n    if ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }\n  }" ({ "{") (expression_statement "uVar11 = uVar5 + *(int *)(this + 0x1c);" (assignment_expression "uVar11 = uVar5 + *(int *)(this + 0x1c)" (identifier "uVar11") (= "=") (binary_expression "uVar5 + *(int *)(this + 0x1c)" (identifier "uVar5") (+ "+") (pointer_expression "*(int *)(this + 0x1c)" (* "*") (cast_expression "(int *)(this + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x1c)" (( "(") (binary_expression "this + 0x1c" (identifier "this") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);" (assignment_expression "iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18)" (identifier "iVar3") (= "=") (binary_expression "(uint)(uVar11 < uVar5) + *(int *)(this + 0x18)" (call_expression "(uint)(uVar11 < uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar11 < uVar5)" (( "(") (binary_expression "uVar11 < uVar5" (identifier "uVar11") (< "<") (identifier "uVar5")) () ")"))) (+ "+") (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 ((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }" (if "if") (parenthesized_expression "((iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc)))))" (( "(") (binary_expression "(iVar3 <= *(int *)(param_1 + 8)) &&\n       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))" (parenthesized_expression "(iVar3 <= *(int *)(param_1 + 8))" (( "(") (binary_expression "iVar3 <= *(int *)(param_1 + 8)" (identifier "iVar3") (<= "<=") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc)))" (( "(") (binary_expression "*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))" (binary_expression "*(int *)(param_1 + 8) != iVar3" (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 "iVar3")) (|| "||") (parenthesized_expression "(uVar11 <= *(uint *)(param_1 + 0xc))" (( "(") (binary_expression "uVar11 <= *(uint *)(param_1 + 0xc)" (identifier "uVar11") (<= "<=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));\n      *puVar13 = 0;\n      puVar13[1] = 0;\n      puVar13[2] = 0;\n      puVar13[3] = 0;\n      puVar13[4] = 0;\n      (*(code *)puVar2)(uVar7,uVar5,0,0x28);\n      puVar2 = PTR_do_out_shndx_00432f04;\n      if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      puVar1 = PTR_parameters_00432be0;\n      local_34 = (int *)PTR_parameters_00432be0;\n      puVar13[7] = iVar3;\n      puVar13[8] = 0;\n      iVar3 = *(int *)puVar1;\n      puVar13[9] = 0;\n      puVar13 = puVar13 + 10;\n      if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }\n      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      puVar6 = *(undefined4 **)(this + 0x30);\n      puVar15 = (undefined4 *)*puVar6;\n      if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }\n      if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }\n      goto LAB_001a2020;\n    }" ({ "{") (expression_statement "puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));" (assignment_expression "puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" (identifier "puVar13") (= "=") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c))" (( "(") (binary_expression "*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c)" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(this + 0x1c)" (* "*") (cast_expression "(int *)(this + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x1c)" (( "(") (binary_expression "this + 0x1c" (identifier "this") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "*puVar13 = 0;" (assignment_expression "*puVar13 = 0" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar13[1] = 0;" (assignment_expression "puVar13[1] = 0" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar13[2] = 0;" (assignment_expression "puVar13[2] = 0" (subscript_expression "puVar13[2]" (identifier "puVar13") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar13[3] = 0;" (assignment_expression "puVar13[3] = 0" (subscript_expression "puVar13[3]" (identifier "puVar13") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar13[4] = 0;" (assignment_expression "puVar13[4] = 0" (subscript_expression "puVar13[4]" (identifier "puVar13") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)puVar2)(uVar7,uVar5,0,0x28);" (call_expression "(*(code *)puVar2)(uVar7,uVar5,0,0x28)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(uVar7,uVar5,0,0x28)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar5") (, ",") (number_literal "0") (, ",") (number_literal "0x28") () ")"))) (; ";")) (expression_statement "puVar2 = PTR_do_out_shndx_00432f04;" (assignment_expression "puVar2 = PTR_do_out_shndx_00432f04" (identifier "puVar2") (= "=") (identifier "PTR_do_out_shndx_00432f04")) (; ";")) (if_statement "if (extraout_v1 < 0xff00) {\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }\n      else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" (if "if") (parenthesized_expression "(extraout_v1 < 0xff00)" (( "(") (binary_expression "extraout_v1 < 0xff00" (identifier "extraout_v1") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\n        piVar8 = *(int **)(this + 0x38);\n        puVar13[5] = 0;\n        pcVar16 = *(code **)(*piVar8 + 0x2c);\n        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;\nLAB_001a1d74:\n        uVar5 = (*pcVar16)();\n        if (0xfeff < uVar5) goto LAB_001a1be0;\nLAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);\n        puVar13[6] = 0;\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (0xfffe < uVar5) goto LAB_001a1c10;\nLAB_001a1db8:\n        iVar3 = 0;\n      }" ({ "{") (expression_statement "piVar8 = *(int **)(this + 0x38);" (assignment_expression "piVar8 = *(int **)(this + 0x38)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(this + 0x38)" (* "*") (cast_expression "(int **)(this + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x38)" (( "(") (binary_expression "this + 0x38" (identifier "this") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar13[5] = 0;" (assignment_expression "puVar13[5] = 0" (subscript_expression "puVar13[5]" (identifier "puVar13") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x2c)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(*piVar8 + 0x2c)" (* "*") (cast_expression "(code **)(*piVar8 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0x2c)" (( "(") (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;" (if "if") (parenthesized_expression "(pcVar16 == (code *)puVar2)" (( "(") (binary_expression "pcVar16 == (code *)puVar2" (identifier "pcVar16") (== "==") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (goto_statement "goto LAB_001a1bc4;" (goto "goto") (statement_identifier "LAB_001a1bc4") (; ";"))) (labeled_statement "LAB_001a1d74:\n        uVar5 = (*pcVar16)();" (statement_identifier "LAB_001a1d74") (: ":") (expression_statement "uVar5 = (*pcVar16)();" (assignment_expression "uVar5 = (*pcVar16)()" (identifier "uVar5") (= "=") (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (0xfeff < uVar5) goto LAB_001a1be0;" (if "if") (parenthesized_expression "(0xfeff < uVar5)" (( "(") (binary_expression "0xfeff < uVar5" (number_literal "0xfeff") (< "<") (identifier "uVar5")) () ")")) (goto_statement "goto LAB_001a1be0;" (goto "goto") (statement_identifier "LAB_001a1be0") (; ";"))) (labeled_statement "LAB_001a1d8c:\n        piVar8 = *(int **)(this + 0x28);" (statement_identifier "LAB_001a1d8c") (: ":") (expression_statement "piVar8 = *(int **)(this + 0x28);" (assignment_expression "piVar8 = *(int **)(this + 0x28)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(this + 0x28)" (* "*") (cast_expression "(int **)(this + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x28)" (( "(") (binary_expression "this + 0x28" (identifier "this") (+ "+") (number_literal "0x28")) () ")"))))) (; ";"))) (expression_statement "puVar13[6] = 0;" (assignment_expression "puVar13[6] = 0" (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9 = (int *)*piVar8;" (assignment_expression "piVar9 = (int *)*piVar8" (identifier "piVar9") (= "=") (cast_expression "(int *)*piVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8")))) (; ";")) (expression_statement "piVar10 = (int *)piVar8[1];" (assignment_expression "piVar10 = (int *)piVar8[1]" (identifier "piVar10") (= "=") (cast_expression "(int *)piVar8[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar5 = (int)piVar10 - (int)piVar9 >> 2;" (assignment_expression "uVar5 = (int)piVar10 - (int)piVar9 >> 2" (identifier "uVar5") (= "=") (binary_expression "(int)piVar10 - (int)piVar9 >> 2" (binary_expression "(int)piVar10 - (int)piVar9" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (- "-") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (0xfffe < uVar5) goto LAB_001a1c10;" (if "if") (parenthesized_expression "(0xfffe < uVar5)" (( "(") (binary_expression "0xfffe < uVar5" (number_literal "0xfffe") (< "<") (identifier "uVar5")) () ")")) (goto_statement "goto LAB_001a1c10;" (goto "goto") (statement_identifier "LAB_001a1c10") (; ";"))) (labeled_statement "LAB_001a1db8:\n        iVar3 = 0;" (statement_identifier "LAB_001a1db8") (: ":") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" (else "else") (compound_statement "{\n        piVar8 = *(int **)(this + 0x38);\n        iVar3 = *piVar8;\n        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;\n        pcVar16 = *(code **)(iVar3 + 0x2c);\n        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;\nLAB_001a1bc4:\n        uVar5 = piVar8[0x19];\n        if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }\n        if (uVar5 < 0xff00) goto LAB_001a1d8c;\nLAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);\n        piVar9 = (int *)*piVar8;\n        piVar10 = (int *)piVar8[1];\n        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n        uVar5 = (int)piVar10 - (int)piVar9 >> 2;\n        if (uVar5 < 0xffff) goto LAB_001a1db8;\nLAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" ({ "{") (expression_statement "piVar8 = *(int **)(this + 0x38);" (assignment_expression "piVar8 = *(int **)(this + 0x38)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(this + 0x38)" (* "*") (cast_expression "(int **)(this + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x38)" (( "(") (binary_expression "this + 0x38" (identifier "this") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar3 = *piVar8;" (assignment_expression "iVar3 = *piVar8" (identifier "iVar3") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;" (assignment_expression "puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (subscript_expression "puVar13[5]" (identifier "puVar13") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "(((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +\n                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10)" (( "(") (binary_expression "(extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10" (binary_expression "(extraout_v1 >> 0x10) << 0x18" (parenthesized_expression "(extraout_v1 >> 0x10)" (( "(") (binary_expression "extraout_v1 >> 0x10" (identifier "extraout_v1") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(extraout_v1 >> 0x18) << 0x10" (parenthesized_expression "(extraout_v1 >> 0x18)" (( "(") (binary_expression "extraout_v1 >> 0x18" (identifier "extraout_v1") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff)" (( "(") (binary_expression "(extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff" (binary_expression "(extraout_v1 & 0xff) << 8" (parenthesized_expression "(extraout_v1 & 0xff)" (( "(") (binary_expression "extraout_v1 & 0xff" (identifier "extraout_v1") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "extraout_v1 >> 8 & 0xff" (binary_expression "extraout_v1 >> 8" (identifier "extraout_v1") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "pcVar16 = *(code **)(iVar3 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(iVar3 + 0x2c)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(iVar3 + 0x2c)" (* "*") (cast_expression "(code **)(iVar3 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x2c)" (( "(") (binary_expression "iVar3 + 0x2c" (identifier "iVar3") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;" (if "if") (parenthesized_expression "(pcVar16 != (code *)puVar2)" (( "(") (binary_expression "pcVar16 != (code *)puVar2" (identifier "pcVar16") (!= "!=") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (goto_statement "goto LAB_001a1d74;" (goto "goto") (statement_identifier "LAB_001a1d74") (; ";"))) (labeled_statement "LAB_001a1bc4:\n        uVar5 = piVar8[0x19];" (statement_identifier "LAB_001a1bc4") (: ":") (expression_statement "uVar5 = piVar8[0x19];" (assignment_expression "uVar5 = piVar8[0x19]" (identifier "uVar5") (= "=") (subscript_expression "piVar8[0x19]" (identifier "piVar8") ([ "[") (number_literal "0x19") (] "]"))) (; ";"))) (if_statement "if (uVar5 == 0xffffffff) {\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }" (if "if") (parenthesized_expression "(uVar5 == 0xffffffff)" (( "(") (binary_expression "uVar5 == 0xffffffff" (identifier "uVar5") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\nLAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);\n          return;\n        }" ({ "{") (labeled_statement "LAB_001a1fa0:\n          (*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);" (statement_identifier "LAB_001a1fa0") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,\n                     PTR_s_alize_xindex_004323b4 + 0x7868)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0x1043") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7868" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x7868")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (uVar5 < 0xff00) goto LAB_001a1d8c;" (if "if") (parenthesized_expression "(uVar5 < 0xff00)" (( "(") (binary_expression "uVar5 < 0xff00" (identifier "uVar5") (< "<") (number_literal "0xff00")) () ")")) (goto_statement "goto LAB_001a1d8c;" (goto "goto") (statement_identifier "LAB_001a1d8c") (; ";"))) (labeled_statement "LAB_001a1be0:\n        piVar8 = *(int **)(this + 0x28);" (statement_identifier "LAB_001a1be0") (: ":") (expression_statement "piVar8 = *(int **)(this + 0x28);" (assignment_expression "piVar8 = *(int **)(this + 0x28)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(this + 0x28)" (* "*") (cast_expression "(int **)(this + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x28)" (( "(") (binary_expression "this + 0x28" (identifier "this") (+ "+") (number_literal "0x28")) () ")"))))) (; ";"))) (expression_statement "piVar9 = (int *)*piVar8;" (assignment_expression "piVar9 = (int *)*piVar8" (identifier "piVar9") (= "=") (cast_expression "(int *)*piVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8")))) (; ";")) (expression_statement "piVar10 = (int *)piVar8[1];" (assignment_expression "piVar10 = (int *)piVar8[1]" (identifier "piVar10") (= "=") (cast_expression "(int *)piVar8[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (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 "uVar5 = (int)piVar10 - (int)piVar9 >> 2;" (assignment_expression "uVar5 = (int)piVar10 - (int)piVar9 >> 2" (identifier "uVar5") (= "=") (binary_expression "(int)piVar10 - (int)piVar9 >> 2" (binary_expression "(int)piVar10 - (int)piVar9" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (- "-") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (uVar5 < 0xffff) goto LAB_001a1db8;" (if "if") (parenthesized_expression "(uVar5 < 0xffff)" (( "(") (binary_expression "uVar5 < 0xffff" (identifier "uVar5") (< "<") (number_literal "0xffff")) () ")")) (goto_statement "goto LAB_001a1db8;" (goto "goto") (statement_identifier "LAB_001a1db8") (; ";"))) (labeled_statement "LAB_001a1c10:\n        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (statement_identifier "LAB_001a1c10") (: ":") (expression_statement "iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (identifier "iVar3") (= "=") (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 "puVar1 = PTR_parameters_00432be0;" (assignment_expression "puVar1 = PTR_parameters_00432be0" (identifier "puVar1") (= "=") (identifier "PTR_parameters_00432be0")) (; ";")) (expression_statement "local_34 = (int *)PTR_parameters_00432be0;" (assignment_expression "local_34 = (int *)PTR_parameters_00432be0" (identifier "local_34") (= "=") (cast_expression "(int *)PTR_parameters_00432be0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_00432be0"))) (; ";")) (expression_statement "puVar13[7] = iVar3;" (assignment_expression "puVar13[7] = iVar3" (subscript_expression "puVar13[7]" (identifier "puVar13") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "puVar13[8] = 0;" (assignment_expression "puVar13[8] = 0" (subscript_expression "puVar13[8]" (identifier "puVar13") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" (identifier "iVar3") (= "=") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (expression_statement "puVar13[9] = 0;" (assignment_expression "puVar13[9] = 0" (subscript_expression "puVar13[9]" (identifier "puVar13") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar13 = puVar13 + 10;" (assignment_expression "puVar13 = puVar13 + 10" (identifier "puVar13") (= "=") (binary_expression "puVar13 + 10" (identifier "puVar13") (+ "+") (number_literal "10"))) (; ";")) (if_statement "if (*(int *)(iVar3 + 8) == 0) {\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 8) == 0" (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")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);\n        return;\n      }" ({ "{") (labeled_statement "LAB_001a1fe8:\n        (*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);" (statement_identifier "LAB_001a1fe8") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x5cec" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x5cec")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x78cc" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x78cc")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }\n      else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(iVar3 + 8) + 0x3195)" (* "*") (cast_expression "(char *)(*(int *)(iVar3 + 8) + 0x3195)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 8) + 0x3195)" (( "(") (binary_expression "*(int *)(iVar3 + 8) + 0x3195" (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")) () ")")))) (+ "+") (number_literal "0x3195")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }\n      }" ({ "{") (if_statement "if (piVar9 == piVar10) {\nLAB_001a1fb8:\n          iVar3 = 1;\n        }\n        else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }" (if "if") (parenthesized_expression "(piVar9 == piVar10)" (( "(") (binary_expression "piVar9 == piVar10" (identifier "piVar9") (== "==") (identifier "piVar10")) () ")")) (compound_statement "{\nLAB_001a1fb8:\n          iVar3 = 1;\n        }" ({ "{") (labeled_statement "LAB_001a1fb8:\n          iVar3 = 1;" (statement_identifier "LAB_001a1fb8") (: ":") (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";"))) (} "}")) (else_clause "else {\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }" (else "else") (compound_statement "{\n          iVar3 = 1;\n          local_38 = (code *)PTR_write_header<32,false>_00434a4c;\n          local_30 = piVar9;\n          do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);\n        }" ({ "{") (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_38 = (code *)PTR_write_header<32,false>_00434a4c;" (comma_expression "local_38 = (code *)PTR_write_header<32,false>_00434a4c" (assignment_expression "local_38 = (code *)PTR_write_header<32" (identifier "local_38") (= "=") (binary_expression "(code *)PTR_write_header<32" (cast_expression "(code *)PTR_write_header" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_write_header")) (< "<") (number_literal "32"))) (, ",") (binary_expression "false>_00434a4c" (false "false") (> ">") (identifier "_00434a4c"))) (; ";")) (expression_statement "local_30 = piVar9;" (assignment_expression "local_30 = piVar9" (identifier "local_30") (= "=") (identifier "piVar9")) (; ";")) (do_statement "do {\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          } while ((int *)piVar8[1] != local_30);" (do "do") (compound_statement "{\n            iVar14 = *local_30;\n            if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }\n            local_30 = local_30 + 1;\n          }" ({ "{") (expression_statement "iVar14 = *local_30;" (assignment_expression "iVar14 = *local_30" (identifier "iVar14") (= "=") (pointer_expression "*local_30" (* "*") (identifier "local_30"))) (; ";")) (if_statement "if (*(int *)(iVar14 + 0x198) == 1) {\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar14 + 0x198) == 1)" (( "(") (binary_expression "*(int *)(iVar14 + 0x198) == 1" (pointer_expression "*(int *)(iVar14 + 0x198)" (* "*") (cast_expression "(int *)(iVar14 + 0x198)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x198)" (( "(") (binary_expression "iVar14 + 0x198" (identifier "iVar14") (+ "+") (number_literal "0x198")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              local_40 = *(undefined4 *)(this + 0x24);\n              piVar8 = (int *)(iVar14 + 4);\n              local_3c = *(undefined4 *)(this + 0x34);\n              do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);\n              piVar8 = *(int **)(this + 0x28);\n            }" ({ "{") (expression_statement "local_40 = *(undefined4 *)(this + 0x24);" (assignment_expression "local_40 = *(undefined4 *)(this + 0x24)" (identifier "local_40") (= "=") (pointer_expression "*(undefined4 *)(this + 0x24)" (* "*") (cast_expression "(undefined4 *)(this + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x24)" (( "(") (binary_expression "this + 0x24" (identifier "this") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "piVar8 = (int *)(iVar14 + 4);" (assignment_expression "piVar8 = (int *)(iVar14 + 4)" (identifier "piVar8") (= "=") (cast_expression "(int *)(iVar14 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 4)" (( "(") (binary_expression "iVar14 + 4" (identifier "iVar14") (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "local_3c = *(undefined4 *)(this + 0x34);" (assignment_expression "local_3c = *(undefined4 *)(this + 0x34)" (identifier "local_3c") (= "=") (pointer_expression "*(undefined4 *)(this + 0x34)" (* "*") (cast_expression "(undefined4 *)(this + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x34)" (( "(") (binary_expression "this + 0x34" (identifier "this") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (do_statement "do {\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              } while ((int *)(iVar14 + 0x160) != piVar8);" (do "do") (compound_statement "{\n                puVar6 = (undefined4 *)piVar8[-1];\n                if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }\n                piVar8 = piVar8 + 3;\n              }" ({ "{") (expression_statement "puVar6 = (undefined4 *)piVar8[-1];" (assignment_expression "puVar6 = (undefined4 *)piVar8[-1]" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)piVar8[-1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar8[-1]" (identifier "piVar8") ([ "[") (number_literal "-1") (] "]")))) (; ";")) (if_statement "if ((undefined4 *)*piVar8 != puVar6) {\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }" (if "if") (parenthesized_expression "((undefined4 *)*piVar8 != puVar6)" (( "(") (binary_expression "(undefined4 *)*piVar8 != puVar6" (cast_expression "(undefined4 *)*piVar8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (!= "!=") (identifier "puVar6")) () ")")) (compound_statement "{\n                  piVar9 = (int *)*puVar6;\n                  puVar15 = puVar13;\n                  while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }\n                }" ({ "{") (expression_statement "piVar9 = (int *)*puVar6;" (assignment_expression "piVar9 = (int *)*puVar6" (identifier "piVar9") (= "=") (cast_expression "(int *)*puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (expression_statement "puVar15 = puVar13;" (assignment_expression "puVar15 = puVar13" (identifier "puVar15") (= "=") (identifier "puVar13")) (; ";")) (while_statement "while( true ) {\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);\n                    puVar13 = puVar15;\n                    if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }\n                    puVar6 = puVar6 + 1;\n                    if ((undefined4 *)*piVar8 == puVar6) break;\n                    piVar9 = (int *)*puVar6;\n                    puVar15 = puVar13;\n                  }" ({ "{") (expression_statement "iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);" (assignment_expression "iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*piVar9 + 0x18))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar9 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar9 + 0x18)" (* "*") (cast_expression "(code **)(*piVar9 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + 0x18)" (( "(") (binary_expression "*piVar9 + 0x18" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")")))) (; ";")) (expression_statement "puVar13 = puVar15;" (assignment_expression "puVar13 = puVar15" (identifier "puVar13") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if (iVar4 != 0) {\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      piVar9 = (int *)*puVar6;\n                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }\n                      if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }\n                      iVar3 = iVar3 + 1;\n                      puVar13 = puVar15 + 10;\n                      local_48[0] = puVar15;\n                      (*local_38)(piVar9,local_40,local_3c,local_48);\n                    }" ({ "{") (expression_statement "piVar9 = (int *)*puVar6;" (assignment_expression "piVar9 = (int *)*puVar6" (identifier "piVar9") (= "=") (cast_expression "(int *)*puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (if_statement "if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }\n                      else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }" (if "if") (parenthesized_expression "(*(code **)(*piVar9 + 0x2c) == (code *)puVar2)" (( "(") (binary_expression "*(code **)(*piVar9 + 0x2c) == (code *)puVar2" (pointer_expression "*(code **)(*piVar9 + 0x2c)" (* "*") (cast_expression "(code **)(*piVar9 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + 0x2c)" (( "(") (binary_expression "*piVar9 + 0x2c" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (compound_statement "{\n                        iVar4 = piVar9[0x19];\n                        if (iVar4 == -1) goto LAB_001a1fa0;\n                      }" ({ "{") (expression_statement "iVar4 = piVar9[0x19];" (assignment_expression "iVar4 = piVar9[0x19]" (identifier "iVar4") (= "=") (subscript_expression "piVar9[0x19]" (identifier "piVar9") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (if_statement "if (iVar4 == -1) goto LAB_001a1fa0;" (if "if") (parenthesized_expression "(iVar4 == -1)" (( "(") (binary_expression "iVar4 == -1" (identifier "iVar4") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_001a1fa0;" (goto "goto") (statement_identifier "LAB_001a1fa0") (; ";"))) (} "}")) (else_clause "else {\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }" (else "else") (compound_statement "{\n                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);\n                      }" ({ "{") (expression_statement "iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);" (assignment_expression "iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*piVar9 + 0x2c))(piVar9)" (parenthesized_expression "(**(code **)(*piVar9 + 0x2c))" (( "(") (pointer_expression "**(code **)(*piVar9 + 0x2c)" (* "*") (pointer_expression "*(code **)(*piVar9 + 0x2c)" (* "*") (cast_expression "(code **)(*piVar9 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + 0x2c)" (( "(") (binary_expression "*piVar9 + 0x2c" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x2c")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar4 != iVar3) {\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }" (if "if") (parenthesized_expression "(iVar4 != iVar3)" (( "(") (binary_expression "iVar4 != iVar3" (identifier "iVar4") (!= "!=") (identifier "iVar3")) () ")")) (compound_statement "{\n                        (*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);\n                        return;\n                      }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,\n                                   PTR_s_alize_xindex_004323b4 + 0x7878)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x59f0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x59f0")) (, ",") (number_literal "0x1354") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7878" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x7878")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar13 = puVar15 + 10;" (assignment_expression "puVar13 = puVar15 + 10" (identifier "puVar13") (= "=") (binary_expression "puVar15 + 10" (identifier "puVar15") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "local_48[0] = puVar15;" (assignment_expression "local_48[0] = puVar15" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "puVar15")) (; ";")) (expression_statement "(*local_38)(piVar9,local_40,local_3c,local_48);" (call_expression "(*local_38)(piVar9,local_40,local_3c,local_48)" (parenthesized_expression "(*local_38)" (( "(") (pointer_expression "*local_38" (* "*") (identifier "local_38")) () ")")) (argument_list "(piVar9,local_40,local_3c,local_48)" (( "(") (identifier "piVar9") (, ",") (identifier "local_40") (, ",") (identifier "local_3c") (, ",") (identifier "local_48") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar6 = puVar6 + 1;" (assignment_expression "puVar6 = puVar6 + 1" (identifier "puVar6") (= "=") (binary_expression "puVar6 + 1" (identifier "puVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((undefined4 *)*piVar8 == puVar6) break;" (if "if") (parenthesized_expression "((undefined4 *)*piVar8 == puVar6)" (( "(") (binary_expression "(undefined4 *)*piVar8 == puVar6" (cast_expression "(undefined4 *)*piVar8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (== "==") (identifier "puVar6")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar9 = (int *)*puVar6;" (assignment_expression "piVar9 = (int *)*puVar6" (identifier "piVar9") (= "=") (cast_expression "(int *)*puVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (expression_statement "puVar15 = puVar13;" (assignment_expression "puVar15 = puVar13" (identifier "puVar15") (= "=") (identifier "puVar13")) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar8 = piVar8 + 3;" (assignment_expression "piVar8 = piVar8 + 3" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 3" (identifier "piVar8") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int *)(iVar14 + 0x160) != piVar8)" (( "(") (binary_expression "(int *)(iVar14 + 0x160) != piVar8" (cast_expression "(int *)(iVar14 + 0x160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x160)" (( "(") (binary_expression "iVar14 + 0x160" (identifier "iVar14") (+ "+") (number_literal "0x160")) () ")"))) (!= "!=") (identifier "piVar8")) () ")")) (; ";")) (expression_statement "piVar8 = *(int **)(this + 0x28);" (assignment_expression "piVar8 = *(int **)(this + 0x28)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(this + 0x28)" (* "*") (cast_expression "(int **)(this + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x28)" (( "(") (binary_expression "this + 0x28" (identifier "this") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (} "}"))) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" (identifier "local_30") (= "=") (binary_expression "local_30 + 1" (identifier "local_30") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int *)piVar8[1] != local_30)" (( "(") (binary_expression "(int *)piVar8[1] != local_30" (cast_expression "(int *)piVar8[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (identifier "local_30")) () ")")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" (else "else") (compound_statement "{\n        puVar6 = *(undefined4 **)(this + 0x2c);\n        puVar15 = (undefined4 *)*puVar6;\n        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;\n        iVar3 = 1;\n        puVar12 = puVar13;\n        do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" ({ "{") (expression_statement "puVar6 = *(undefined4 **)(this + 0x2c);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x2c)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined4 **)(this + 0x2c)" (* "*") (cast_expression "(undefined4 **)(this + 0x2c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x2c)" (( "(") (binary_expression "this + 0x2c" (identifier "this") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "puVar15 = (undefined4 *)*puVar6;" (assignment_expression "puVar15 = (undefined4 *)*puVar6" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)*puVar6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (if_statement "if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;" (if "if") (parenthesized_expression "((undefined4 *)puVar6[1] == puVar15)" (( "(") (binary_expression "(undefined4 *)puVar6[1] == puVar15" (cast_expression "(undefined4 *)puVar6[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]"))) (== "==") (identifier "puVar15")) () ")")) (goto_statement "goto LAB_001a1fb8;" (goto "goto") (statement_identifier "LAB_001a1fb8") (; ";"))) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" (identifier "puVar12") (= "=") (identifier "puVar13")) (; ";")) (do_statement "do {\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        } while ((undefined4 *)puVar6[1] != puVar15);" (do "do") (compound_statement "{\n          piVar8 = (int *)*puVar15;\n          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }\n          puVar15 = puVar15 + 1;\n          puVar12 = puVar13;\n        }" ({ "{") (expression_statement "piVar8 = (int *)*puVar15;" (assignment_expression "piVar8 = (int *)*puVar15" (identifier "piVar8") (= "=") (cast_expression "(int *)*puVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (; ";")) (if_statement "if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }" (if "if") (parenthesized_expression "(((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11))" (( "(") (binary_expression "((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)" (parenthesized_expression "((piVar8[0x17] & 2U) != 0)" (( "(") (binary_expression "(piVar8[0x17] & 2U) != 0" (parenthesized_expression "(piVar8[0x17] & 2U)" (( "(") (binary_expression "piVar8[0x17] & 2U" (subscript_expression "piVar8[0x17]" (identifier "piVar8") ([ "[") (number_literal "0x17") (] "]")) (& "&") (number_literal "2U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar13 = puVar12, piVar8[0x15] == 0x11)" (( "(") (comma_expression "puVar13 = puVar12, piVar8[0x15] == 0x11" (assignment_expression "puVar13 = puVar12" (identifier "puVar13") (= "=") (identifier "puVar12")) (, ",") (binary_expression "piVar8[0x15] == 0x11" (subscript_expression "piVar8[0x15]" (identifier "piVar8") ([ "[") (number_literal "0x15") (] "]")) (== "==") (number_literal "0x11"))) () ")"))) () ")")) (compound_statement "{\n            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }\n            if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }\n            iVar3 = iVar3 + 1;\n            puVar13 = puVar12 + 10;\n            local_48[0] = puVar12;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x2c);\n          }" ({ "{") (if_statement "if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }\n            else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }" (if "if") (parenthesized_expression "(*(code **)(*piVar8 + 0x2c) == (code *)puVar2)" (( "(") (binary_expression "*(code **)(*piVar8 + 0x2c) == (code *)puVar2" (pointer_expression "*(code **)(*piVar8 + 0x2c)" (* "*") (cast_expression "(code **)(*piVar8 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0x2c)" (( "(") (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (compound_statement "{\n              iVar14 = piVar8[0x19];\n              if (iVar14 == -1) goto LAB_001a1fa0;\n            }" ({ "{") (expression_statement "iVar14 = piVar8[0x19];" (assignment_expression "iVar14 = piVar8[0x19]" (identifier "iVar14") (= "=") (subscript_expression "piVar8[0x19]" (identifier "piVar8") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (if_statement "if (iVar14 == -1) goto LAB_001a1fa0;" (if "if") (parenthesized_expression "(iVar14 == -1)" (( "(") (binary_expression "iVar14 == -1" (identifier "iVar14") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_001a1fa0;" (goto "goto") (statement_identifier "LAB_001a1fa0") (; ";"))) (} "}")) (else_clause "else {\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }" (else "else") (compound_statement "{\n              iVar14 = (**(code **)(*piVar8 + 0x2c))();\n            }" ({ "{") (expression_statement "iVar14 = (**(code **)(*piVar8 + 0x2c))();" (assignment_expression "iVar14 = (**(code **)(*piVar8 + 0x2c))()" (identifier "iVar14") (= "=") (call_expression "(**(code **)(*piVar8 + 0x2c))()" (parenthesized_expression "(**(code **)(*piVar8 + 0x2c))" (( "(") (pointer_expression "**(code **)(*piVar8 + 0x2c)" (* "*") (pointer_expression "*(code **)(*piVar8 + 0x2c)" (* "*") (cast_expression "(code **)(*piVar8 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0x2c)" (( "(") (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x2c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar14 != iVar3) {\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }" (if "if") (parenthesized_expression "(iVar14 != iVar3)" (( "(") (binary_expression "iVar14 != iVar3" (identifier "iVar14") (!= "!=") (identifier "iVar3")) () ")")) (compound_statement "{\n              uVar7 = 0x155;\n              goto LAB_001a1fc4;\n            }" ({ "{") (expression_statement "uVar7 = 0x155;" (assignment_expression "uVar7 = 0x155" (identifier "uVar7") (= "=") (number_literal "0x155")) (; ";")) (goto_statement "goto LAB_001a1fc4;" (goto "goto") (statement_identifier "LAB_001a1fc4") (; ";")) (} "}"))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar13 = puVar12 + 10;" (assignment_expression "puVar13 = puVar12 + 10" (identifier "puVar13") (= "=") (binary_expression "puVar12 + 10" (identifier "puVar12") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "local_48[0] = puVar12;" (assignment_expression "local_48[0] = puVar12" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "puVar12")) (; ";")) (labeled_statement "Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" (statement_identifier "Output_section") (: ":") (ERROR ":" (: ":")) (expression_statement "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" (comma_expression "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (binary_expression "write_header<32" (identifier "write_header") (< "<") (number_literal "32")) (, ",") (binary_expression "false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (false "false") (> ">") (parenthesized_expression "((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (( "(") (comma_expression "(Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (cast_expression "(Output_section *)*puVar15" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (, ",") (comma_expression "*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Layout **)(this + 0x24)" (* "*") (cast_expression "(Layout **)(this + 0x24)" (( "(") (type_descriptor "Layout **" (type_identifier "Layout") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x24)" (( "(") (binary_expression "this + 0x24" (identifier "this") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (comma_expression "*(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Stringpool_template **)(this + 0x34)" (* "*") (cast_expression "(Stringpool_template **)(this + 0x34)" (( "(") (type_descriptor "Stringpool_template **" (type_identifier "Stringpool_template") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x34)" (( "(") (binary_expression "this + 0x34" (identifier "this") (+ "+") (number_literal "0x34")) () ")")))) (, ",") (cast_expression "(Shdr_write *)local_48" (( "(") (type_descriptor "Shdr_write *" (type_identifier "Shdr_write") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_48"))))) () ")")))) (; ";"))) (expression_statement "puVar6 = *(undefined4 **)(this + 0x2c);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x2c)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined4 **)(this + 0x2c)" (* "*") (cast_expression "(undefined4 **)(this + 0x2c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x2c)" (( "(") (binary_expression "this + 0x2c" (identifier "this") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (} "}"))) (expression_statement "puVar15 = puVar15 + 1;" (assignment_expression "puVar15 = puVar15 + 1" (identifier "puVar15") (= "=") (binary_expression "puVar15 + 1" (identifier "puVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" (identifier "puVar12") (= "=") (identifier "puVar13")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *)puVar6[1] != puVar15)" (( "(") (binary_expression "(undefined4 *)puVar6[1] != puVar15" (cast_expression "(undefined4 *)puVar6[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (identifier "puVar15")) () ")")) (; ";")) (} "}")))) (expression_statement "puVar6 = *(undefined4 **)(this + 0x30);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x30)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined4 **)(this + 0x30)" (* "*") (cast_expression "(undefined4 **)(this + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x30)" (( "(") (binary_expression "this + 0x30" (identifier "this") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar15 = (undefined4 *)*puVar6;" (assignment_expression "puVar15 = (undefined4 *)*puVar6" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)*puVar6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (if_statement "if (puVar15 != (undefined4 *)puVar6[1]) {\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" (if "if") (parenthesized_expression "(puVar15 != (undefined4 *)puVar6[1])" (( "(") (binary_expression "puVar15 != (undefined4 *)puVar6[1]" (identifier "puVar15") (!= "!=") (cast_expression "(undefined4 *)puVar6[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n        do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);\n      }" ({ "{") (do_statement "do {\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        } while ((undefined4 *)puVar6[1] != puVar15);" (do "do") (compound_statement "{\n          piVar8 = (int *)*puVar15;\n          if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }\n          puVar15 = puVar15 + 1;\n          puVar13 = puVar12;\n        }" ({ "{") (expression_statement "piVar8 = (int *)*puVar15;" (assignment_expression "piVar8 = (int *)*puVar15" (identifier "piVar8") (= "=") (cast_expression "(int *)*puVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (; ";")) (if_statement "if (piVar8[0x15] == 0x11) {\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }\n          else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }" (if "if") (parenthesized_expression "(piVar8[0x15] == 0x11)" (( "(") (binary_expression "piVar8[0x15] == 0x11" (subscript_expression "piVar8[0x15]" (identifier "piVar8") ([ "[") (number_literal "0x15") (] "]")) (== "==") (number_literal "0x11")) () ")")) (compound_statement "{\n            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;\n            puVar12 = puVar13;\n            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }\n          }" ({ "{") (if_statement "if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;" (if "if") (parenthesized_expression "(*(int *)(*local_34 + 8) == 0)" (( "(") (binary_expression "*(int *)(*local_34 + 8) == 0" (pointer_expression "*(int *)(*local_34 + 8)" (* "*") (cast_expression "(int *)(*local_34 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_34 + 8)" (( "(") (binary_expression "*local_34 + 8" (pointer_expression "*local_34" (* "*") (identifier "local_34")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001a1fe8;" (goto "goto") (statement_identifier "LAB_001a1fe8") (; ";"))) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" (identifier "puVar12") (= "=") (identifier "puVar13")) (; ";")) (if_statement "if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(*local_34 + 8) + 0x3195)" (* "*") (cast_expression "(char *)(*(int *)(*local_34 + 8) + 0x3195)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*local_34 + 8) + 0x3195)" (( "(") (binary_expression "*(int *)(*local_34 + 8) + 0x3195" (pointer_expression "*(int *)(*local_34 + 8)" (* "*") (cast_expression "(int *)(*local_34 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_34 + 8)" (( "(") (binary_expression "*local_34 + 8" (pointer_expression "*local_34" (* "*") (identifier "local_34")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x3195")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              pcVar16 = *(code **)(*piVar8 + 0x2c);\n              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;\nLAB_001a1e9c:\n              iVar14 = (*pcVar16)();\n              goto LAB_001a1e20;\n            }" ({ "{") (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x2c)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(*piVar8 + 0x2c)" (* "*") (cast_expression "(code **)(*piVar8 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0x2c)" (( "(") (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;" (if "if") (parenthesized_expression "(pcVar16 == (code *)puVar2)" (( "(") (binary_expression "pcVar16 == (code *)puVar2" (identifier "pcVar16") (== "==") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (goto_statement "goto LAB_001a1e14;" (goto "goto") (statement_identifier "LAB_001a1e14") (; ";"))) (labeled_statement "LAB_001a1e9c:\n              iVar14 = (*pcVar16)();" (statement_identifier "LAB_001a1e9c") (: ":") (expression_statement "iVar14 = (*pcVar16)();" (assignment_expression "iVar14 = (*pcVar16)()" (identifier "iVar14") (= "=") (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (goto_statement "goto LAB_001a1e20;" (goto "goto") (statement_identifier "LAB_001a1e20") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }" (else "else") (compound_statement "{\n            pcVar16 = *(code **)(*piVar8 + 0x2c);\n            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;\nLAB_001a1e14:\n            iVar14 = piVar8[0x19];\n            if (iVar14 == -1) goto LAB_001a1fa0;\nLAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }\n            iVar3 = iVar3 + 1;\n            puVar12 = puVar13 + 10;\n            local_48[0] = puVar13;\n            Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);\n            puVar6 = *(undefined4 **)(this + 0x30);\n          }" ({ "{") (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x2c);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x2c)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(*piVar8 + 0x2c)" (* "*") (cast_expression "(code **)(*piVar8 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0x2c)" (( "(") (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;" (if "if") (parenthesized_expression "(pcVar16 != (code *)puVar2)" (( "(") (binary_expression "pcVar16 != (code *)puVar2" (identifier "pcVar16") (!= "!=") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (goto_statement "goto LAB_001a1e9c;" (goto "goto") (statement_identifier "LAB_001a1e9c") (; ";"))) (labeled_statement "LAB_001a1e14:\n            iVar14 = piVar8[0x19];" (statement_identifier "LAB_001a1e14") (: ":") (expression_statement "iVar14 = piVar8[0x19];" (assignment_expression "iVar14 = piVar8[0x19]" (identifier "iVar14") (= "=") (subscript_expression "piVar8[0x19]" (identifier "piVar8") ([ "[") (number_literal "0x19") (] "]"))) (; ";"))) (if_statement "if (iVar14 == -1) goto LAB_001a1fa0;" (if "if") (parenthesized_expression "(iVar14 == -1)" (( "(") (binary_expression "iVar14 == -1" (identifier "iVar14") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_001a1fa0;" (goto "goto") (statement_identifier "LAB_001a1fa0") (; ";"))) (labeled_statement "LAB_001a1e20:\n            if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }" (statement_identifier "LAB_001a1e20") (: ":") (if_statement "if (iVar3 != iVar14) {\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }" (if "if") (parenthesized_expression "(iVar3 != iVar14)" (( "(") (binary_expression "iVar3 != iVar14" (identifier "iVar3") (!= "!=") (identifier "iVar14")) () ")")) (compound_statement "{\n              uVar7 = 0x167;\nLAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);\n              return;\n            }" ({ "{") (expression_statement "uVar7 = 0x167;" (assignment_expression "uVar7 = 0x167" (identifier "uVar7") (= "=") (number_literal "0x167")) (; ";")) (labeled_statement "LAB_001a1fc4:\n              (*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);" (statement_identifier "LAB_001a1fc4") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,\n                         PTR_s_alize_xindex_004323b4 + 0x78b0)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x59f0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x59f0")) (, ",") (identifier "uVar7") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x78b0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x78b0")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar12 = puVar13 + 10;" (assignment_expression "puVar12 = puVar13 + 10" (identifier "puVar12") (= "=") (binary_expression "puVar13 + 10" (identifier "puVar13") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "local_48[0] = puVar13;" (assignment_expression "local_48[0] = puVar13" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "puVar13")) (; ";")) (labeled_statement "Output_section::write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" (statement_identifier "Output_section") (: ":") (ERROR ":" (: ":")) (expression_statement "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);" (comma_expression "write_header<32,false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (binary_expression "write_header<32" (identifier "write_header") (< "<") (number_literal "32")) (, ",") (binary_expression "false>\n                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (false "false") (> ">") (parenthesized_expression "((Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48)" (( "(") (comma_expression "(Output_section *)*puVar15,*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (cast_expression "(Output_section *)*puVar15" (( "(") (type_descriptor "Output_section *" (type_identifier "Output_section") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (, ",") (comma_expression "*(Layout **)(this + 0x24),\n                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Layout **)(this + 0x24)" (* "*") (cast_expression "(Layout **)(this + 0x24)" (( "(") (type_descriptor "Layout **" (type_identifier "Layout") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x24)" (( "(") (binary_expression "this + 0x24" (identifier "this") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (comma_expression "*(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48" (pointer_expression "*(Stringpool_template **)(this + 0x34)" (* "*") (cast_expression "(Stringpool_template **)(this + 0x34)" (( "(") (type_descriptor "Stringpool_template **" (type_identifier "Stringpool_template") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x34)" (( "(") (binary_expression "this + 0x34" (identifier "this") (+ "+") (number_literal "0x34")) () ")")))) (, ",") (cast_expression "(Shdr_write *)local_48" (( "(") (type_descriptor "Shdr_write *" (type_identifier "Shdr_write") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_48"))))) () ")")))) (; ";"))) (expression_statement "puVar6 = *(undefined4 **)(this + 0x30);" (assignment_expression "puVar6 = *(undefined4 **)(this + 0x30)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined4 **)(this + 0x30)" (* "*") (cast_expression "(undefined4 **)(this + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x30)" (( "(") (binary_expression "this + 0x30" (identifier "this") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (} "}")))) (expression_statement "puVar15 = puVar15 + 1;" (assignment_expression "puVar15 = puVar15 + 1" (identifier "puVar15") (= "=") (binary_expression "puVar15 + 1" (identifier "puVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" (identifier "puVar13") (= "=") (identifier "puVar12")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *)puVar6[1] != puVar15)" (( "(") (binary_expression "(undefined4 *)puVar6[1] != puVar15" (cast_expression "(undefined4 *)puVar6[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (identifier "puVar15")) () ")")) (; ";")) (} "}"))) (if_statement "if (*(int *)(this + 0x20) << 2 < 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(*(int *)(this + 0x20) << 2 < 0)" (( "(") (binary_expression "*(int *)(this + 0x20) << 2 < 0" (binary_expression "*(int *)(this + 0x20) << 2" (pointer_expression "*(int *)(this + 0x20)" (* "*") (cast_expression "(int *)(this + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x20)" (( "(") (binary_expression "this + 0x20" (identifier "this") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_001a2020;" (goto "goto") (statement_identifier "LAB_001a2020") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_00182b60(uVar7);" (call_expression "FUN_00182b60(uVar7)" (identifier "FUN_00182b60") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (labeled_statement "LAB_001a2020:\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" (statement_identifier "LAB_001a2020") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818)" (( "(") (binary_expression "PTR_s_alize_xindex_004323b4 + -0x4fe0" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "-0x4fe0")) (, ",") (number_literal "0xe3") (, ",") (binary_expression "PTR_s_alize_xindex_004323b4 + 0x7818" (identifier "PTR_s_alize_xindex_004323b4") (+ "+") (number_literal "0x7818")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* 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_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* DWARF original name: do_sized_write<32, false>
   DWARF original prototype: void do_sized_write<32,_false>(Output_section_headers * this,
   Output_file * of) */

void __thiscall
var_22::Output_section_headers::do_sized_write<32,var_5>
          (Output_section_headers *this,type_1 *of)

{
  int var_4;
  type_1 *var_10;
  type_2 **pp_Var3;
  type_3 var_6;
  int var_19;
  type_4 uVar6;
  type_5 *pSVar7;
  type_6 *pOVar8;
  type_7 *var_27;
  type_8 var_36;
  type_3 var_13;
  type_9 *pSVar11;
  type_10 var_25;
  type_11 *pSVar13;
  var_1<32> *var_28;
  var_1<32> *extraout_v1_00;
  type_1 *this_00;
  type_12 *pOVar15;
  type_13 *var_35;
  type_14 EVar16;
  type_13 *pLVar17;
  int *var_34;
  type_14 EVar19;
  type_1 *var_9;
  type_10 var_21;
  type_8 EVar21;
  var_2<32,var_5> *var_8;
  type_3 var_7;
  var_1<32> *unaff_s0;
  var_1<32> *pSVar23;
  type_7 *var_14;
  type_2 *var_16;
  type_15 *pOVar26;
  type_10 var_29;
  type_10 *var_24;
  type_16 *var_33;
  type_2 *var_15;
  int var_12;
  int var_26;
  type_4 in_stack_ffffffb4;
  var_2<32,var_5> var_3;
  int *local_34;
  type_10 var_20;
  
  var_12 = 0x43a1d0;
  var_4 = *(int *)&(this->super_Output_data).field_0x20;
  var_26 = 0x43a1d0;
  if (var_4 << 1 < 0) {
    this_00 = *(type_1 **)&(this->super_Output_data).data_size_;
    var_6 = (type_3)(this->super_Output_data).data_size_;
    if (var_4 << 2 < 0) {
      var_8 = *(var_2<32,var_5> **var_18)&(this->super_Output_data).offset_;
      var_4 = (int)(this->super_Output_data).offset_;
      if (-1 < (int)var_8) {
        var_7 = var_6 + var_4;
        var_9 = *(type_1 **)&of->file_size_;
        var_10 = (type_1 *)((int)&var_8->p_ + (type_3)(var_7 < var_6));
        var_8 = (var_2<32,var_5> *var_18)(type_3)((int)var_9 < (int)var_10);
        if (var_8 == (var_2<32,var_5> *)0x0) {
          var_28 = unaff_s0;
          if (var_9 == var_10) goto LAB_001a2000;
          do {
            var_8 = (var_2<32,var_5> *var_18)&var_11;
            var_33 = *(type_16 **)(var_12 + -0x7208);
            var_14 = of->base_ + var_4;
            var_14[0] = '\0';
            var_14[1] = '\0';
            var_14[2] = '\0';
            var_14[3] = '\0';
            var_14[4] = '\0';
            var_14[5] = '\0';
            var_14[6] = '\0';
            var_14[7] = '\0';
            var_14[8] = '\0';
            var_14[9] = '\0';
            var_14[10] = '\0';
            var_14[0xb] = '\0';
            var_14[0xc] = '\0';
            var_14[0xd] = '\0';
            var_14[0xe] = '\0';
            var_14[0xf] = '\0';
            var_14[0x10] = '\0';
            var_14[0x11] = '\0';
            var_14[0x12] = '\0';
            var_14[0x13] = '\0';
            var_12 = var_26;
            (*var_33)();
            var_26 = var_12;
            if (var_13 < 0xff00) goto LAB_001a1d54;
            pOVar15 = this->shstrtab_section_;
            var_16 = *(type_2 **)(var_12 + -0x72cc);
            pp_Var3 = (pOVar15->super_Output_data)._vptr_Output_data;
            *(type_3 *)(var_14 + 0x14) =
                 (((var_13 >> 0x10) << 0x18 | (var_13 >> 0x18) << 0x10) >> 0x10) +
                 ((var_13 & 0xff) << 8 | var_13 >> 8 & 0xff) * 0x10000;
            var_15 = pp_Var3[0xb];
            if (var_15 != var_16) goto LAB_001a1d74;
LAB_001a1bc4:
            var_6 = pOVar15->out_shndx_;
            if (var_6 == 0xffffffff) {
              var_19 = *(int *)(var_12 + -0x7e1c);
              goto LAB_001a1fa0;
            }
joined_r0x001a1bd8:
            if (var_6 < 0xff00) {
              pSVar11 = this->segment_list_;
              var_14[0x18] = '\0';
              var_14[0x19] = '\0';
              var_14[0x1a] = '\0';
              var_14[0x1b] = '\0';
              var_20 = (pSVar11->
                         super__Vector_base<var_22::type_15*var_18,var_23::allocator<var_22::type_15*>var_17>var_18
                         )._M_impl._M_start;
              var_21 = (pSVar11->
                         super__Vector_base<var_22::type_15*var_18,var_23::allocator<var_22::type_15*>var_17>var_18
                         )._M_impl._M_finish;
              var_19 = (int)var_21 - (int)var_20;
            }
            else {
              pSVar11 = this->segment_list_;
              var_20 = (pSVar11->
                         super__Vector_base<var_22::type_15*var_18,var_23::allocator<var_22::type_15*>var_17>var_18
                         )._M_impl._M_start;
              var_21 = (pSVar11->
                         super__Vector_base<var_22::type_15*var_18,var_23::allocator<var_22::type_15*>var_17>var_18
                         )._M_impl._M_finish;
              *(type_3 *)(var_14 + 0x18) =
                   (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                   ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
              var_19 = (int)var_21 - (int)var_20;
            }
            var_6 = var_19 >> 2;
            if (var_6 < 0xffff) {
              var_19 = 0;
            }
            else {
              var_19 = (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                      ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
            }
            local_34 = *(int **)(var_12 + -0x75f0);
            *(int *)(var_14 + 0x1c) = var_19;
            var_14[0x20] = '\0';
            var_14[0x21] = '\0';
            var_14[0x22] = '\0';
            var_14[0x23] = '\0';
            var_19 = *local_34;
            var_14[0x24] = '\0';
            var_14[0x25] = '\0';
            var_14[0x26] = '\0';
            var_14[0x27] = '\0';
            unaff_s0 = (var_1<32> *var_18)(var_14 + 0x28);
            if (*(int *)(var_19 + 8) == 0) {
              var_19 = *(int *)(var_12 + -0x7e1c);
              goto LAB_001a1fe8;
            }
            if (*(char *)(*(int *)(var_19 + 8) + 0x3195) == '\0') {
              var_33 = *(type_16 **)(var_12 + -0x5784);
              if (var_20 == var_21) goto LAB_001a1fb8;
              var_14 = (type_7 *)0x1;
LAB_001a1c60:
              pOVar26 = *var_20;
              if (pOVar26->type_ != 1) goto LAB_001a1dd0;
              uVar6 = *(type_4 *)&(this->super_Output_data).field_0x24;
              var_24 = &pOVar26->output_lists_[0].
                           super__Vector_base<var_22::type_6*,var_23::allocator<var_22::type_6*>var_17>
                           ._M_impl._M_finish;
              pSVar7 = this->secnamepool_;
              while (var_25 = ((type_17 *)(var_24 + -1))->_M_start, *var_24 == var_25
                    ) {
LAB_001a1dc0:
                var_24 = var_24 + 3;
                if ((type_10 *)&pOVar26->vaddr_ == var_24) goto code_r0x001a1dcc;
              }
              pOVar8 = *var_25;
              var_28 = unaff_s0;
              var_12 = var_26;
              while (var_26 = (*pOVar8->_vptr_Output_data[6])(pOVar8), unaff_s0 = var_28,
                    var_26 == 0) {
LAB_001a1ce4:
                var_25 = var_25 + 1;
                var_26 = var_12;
                if (*var_24 == var_25) goto LAB_001a1dc0;
                pOVar8 = *var_25;
                var_28 = unaff_s0;
              }
              pOVar8 = *var_25;
              if (pOVar8->_vptr_Output_data[0xb] == var_16) {
                var_27 = *(type_7 **)((int)&pOVar8[2].data_size_ + 4);
                var_19 = *(int *)(var_12 + -0x7e1c);
                var_26 = var_12;
                if (var_27 == (type_7 *)0xffffffff) goto LAB_001a1fa0;
                var_19 = *(int *)(var_12 + -0x7e1c);
                if (var_27 == var_14) goto LAB_001a1cbc;
              }
              else {
                var_27 = (type_7 *)(*pOVar8->_vptr_Output_data[0xb])(pOVar8);
                if (var_27 == var_14) {
LAB_001a1cbc:
                  var_14 = var_14 + 1;
                  unaff_s0 = var_28 + 1;
                  var_8 = &var_3;
                  var_3.p_ = var_28;
                  (*var_33)(pOVar8,uVar6,pSVar7);
                  goto LAB_001a1ce4;
                }
                var_19 = *(int *)(var_12 + -0x7e1c);
              }
              var_26 = var_12;
              (**(type_16 **)(var_12 + -0x7e0c))
                        (*(int *)(var_12 + -0x7e1c) + 0x59f0,0x1354,var_19 + 0x7878);
LAB_001a1d54:
              pOVar15 = this->shstrtab_section_;
              var_16 = *(type_2 **)(var_12 + -0x72cc);
              var_14[0x14] = '\0';
              var_14[0x15] = '\0';
              var_14[0x16] = '\0';
              var_14[0x17] = '\0';
              var_15 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];
              if (var_15 != var_16) goto LAB_001a1d74;
              goto LAB_001a1bc4;
            }
            pSVar13 = this->section_list_;
            var_29 = (pSVar13->
                       super__Vector_base<var_22::type_12*var_18,var_23::allocator<var_22::type_12*>var_17>var_18
                       )._M_impl._M_start;
            if ((pSVar13->
                super__Vector_base<var_22::type_12*,var_23::allocator<var_22::type_12*>var_17>var_18).
                _M_impl._M_finish == var_29) goto LAB_001a1fb8;
            var_14 = (type_7 *)0x1;
            var_28 = unaff_s0;
            do {
              pOVar15 = *var_29;
              if (((pOVar15->flags_ & 2) != 0) || (unaff_s0 = var_28, pOVar15->type_ == 0x11)) {
                var_15 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];
                if (var_15 == var_16) {
                  var_27 = (type_7 *)pOVar15->out_shndx_;
                  var_19 = *(int *)(var_12 + -0x7e1c);
                  if (var_27 == (type_7 *)0xffffffff) goto LAB_001a1fa0;
                }
                else {
                  var_12 = var_26;
                  var_27 = (type_7 *)(*var_15)();
                  var_26 = var_12;
                }
                if (var_27 != var_14) goto LAB_001a1fdc;
                var_14 = var_14 + 1;
                unaff_s0 = var_28 + 1;
                var_8 = &var_3;
                var_12 = var_26;
                var_3.p_ = var_28;
                Output_section::var_30<32,var_5>
                          (*var_29,*(type_13 **)&(this->super_Output_data).field_0x24,
                           this->secnamepool_,&var_3);
                pSVar13 = this->section_list_;
                var_26 = var_12;
              }
              var_29 = var_29 + 1;
              var_28 = unaff_s0;
            } while ((pSVar13->
                     super__Vector_base<var_22::type_12*,var_23::allocator<var_22::type_12*>var_17>var_18
                     )._M_impl._M_finish != var_29);
LAB_001a1de0:
            pSVar13 = this->unattached_section_list_;
            var_29 = (pSVar13->
                       super__Vector_base<var_22::type_12*var_18,var_23::allocator<var_22::type_12*>var_17>var_18
                       )._M_impl._M_start;
            if (var_29 ==
                (pSVar13->
                super__Vector_base<var_22::type_12*,var_23::allocator<var_22::type_12*>var_17>var_18).
                _M_impl._M_finish) {
LAB_001a1eac:
              if (*(int *)&(this->super_Output_data).field_0x20 << 2 < 0) {
                return;
              }
              goto LAB_001a2020;
            }
            var_28 = unaff_s0;
            while (pOVar15 = *var_29, pOVar15->type_ != 0x11) {
              var_15 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];
joined_r0x001a1e0c:
              if (var_15 == var_16) {
                var_27 = (type_7 *)pOVar15->out_shndx_;
                var_19 = *(int *)(var_12 + -0x7e1c);
                if (var_27 == (type_7 *)0xffffffff) goto LAB_001a1fa0;
              }
              else {
                var_12 = var_26;
                var_27 = (type_7 *)(*var_15)();
                var_26 = var_12;
              }
              if (var_14 != var_27) {
                uVar6 = 0x167;
                do {
                  (**(type_16 **)(var_12 + -0x7e0c))
                            (*(int *)(var_12 + -0x7e1c) + 0x59f0,uVar6,
                             *(int *)(var_12 + -0x7e1c) + 0x78b0);
LAB_001a1fdc:
                  uVar6 = 0x155;
                } while( true );
              }
              var_14 = var_14 + 1;
              pSVar23 = var_28 + 1;
              var_8 = &var_3;
              var_12 = var_26;
              var_3.p_ = var_28;
              Output_section::var_30<32,var_5>
                        (*var_29,*(type_13 **)&(this->super_Output_data).field_0x24,
                         this->secnamepool_,&var_3);
              pSVar13 = this->unattached_section_list_;
              var_26 = var_12;
LAB_001a1e50:
              var_29 = var_29 + 1;
              var_28 = pSVar23;
              if ((pSVar13->
                  super__Vector_base<var_22::type_12*,var_23::allocator<var_22::type_12*>var_17>var_18)
                  ._M_impl._M_finish == var_29) goto LAB_001a1eac;
            }
            var_19 = *(int *)(var_12 + -0x7e1c);
            unaff_s0 = var_28;
            if (*(int *)(*local_34 + 8) != 0) {
              pSVar23 = var_28;
              if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {
                var_15 = (pOVar15->super_Output_data)._vptr_Output_data[0xb];
                goto joined_r0x001a1e0c;
              }
              goto LAB_001a1e50;
            }
LAB_001a1fe8:
            of = (type_1 *)&DAT_0000005c;
            var_9 = (type_1 *)(var_19 + 0x78cc);
            this_00 = (type_1 *)(*(int *)(var_12 + -0x7e1c) + -0x5cec);
            (**(type_16 **)(var_12 + -0x7e0c))();
LAB_001a2000:
            var_7 = (type_3)((type_3)of->file_size_ < var_7);
            var_28 = unaff_s0;
            if (var_7 != 0) break;
          } while( true );
        }
      }
      Output_file::var_31(this_00,var_32(var_26,in_stack_ffffffb4),(size_t)of,var_9);
    }
LAB_001a2020:
    (**(type_16 **)(var_12 + -0x7e0c))
              (*(int *)(var_12 + -0x7e1c) + -0x4fe0,0xe3,*(int *)(var_12 + -0x7e1c) + 0x7818);
  }
  pLVar17 = (type_13 *)&DAT_000000cf;
  var_33 = *(type_16 **)(var_12 + -0x7e0c);
  var_26 = *(int *)(var_12 + -0x7e1c) + 0x7894;
  var_12 = *(int *)(var_12 + -0x7e1c) + -0x4fe0;
  (*var_33)(var_12,0xcf,var_26);
  var_36 = (**(type_16 **)(var_33 + 0x290388))(var_26,*(type_4 *)(var_12 + 0x24));
  var_28 = var_8->p_;
  EVar21 = *(type_8 *)(var_12 + 0x54);
  var_34 = *(int **)(var_12 + 0x48);
  var_6 = *(type_3 *)(var_12 + 0x5c);
  var_28->sh_name = var_36;
  var_28->sh_type = EVar21;
  if ((var_34 != (int *)0x0) && (*(int *)(var_12 + 0x98) << 8 < 0)) goto LAB_001a2170;
LAB_001a20c8:
  var_26 = *(int *)(var_12 + 0x20);
  var_28->sh_flags = var_6;
  if (var_26 < 0) {
    var_28->sh_addr = *(type_18 *)(var_12 + 0xc);
    if (var_26 << 2 < 0) {
      var_28->sh_offset = *(type_19 *)(var_12 + 0x1c);
      if (var_26 << 1 < 0) {
        var_35 = *(type_13 **)(var_12 + 0x40);
        var_28->sh_size = *(type_14 *)(var_12 + 0x14);
        if (var_35 == (type_13 *)0x0) goto LAB_001a21d4;
        var_16 = ((type_6 *)&var_35->number_of_input_files_)->_vptr_Output_data[0xb];
LAB_001a210c:
        var_6 = (*var_16)();
        var_28 = var_8->p_;
        var_34 = *(int **)(var_12 + 0x48);
LAB_001a2120:
        var_28->sh_link = var_6;
        do {
          if (var_34 != (int *)0x0) {
            if (*(int *)(var_12 + 0x98) << 8 < 0) {
              if (*(type_16 **)(*var_34 + 0x2c) == *(type_16 **)(var_33 + 0x290eac)) {
                var_36 = var_34[0x19];
                var_26 = *(int *)(var_33 + 0x29035c);
                if (var_36 == 0xffffffff) goto LAB_001a215c;
              }
              else {
                var_36 = (**(type_16 **)(*var_34 + 0x2c))(var_34);
                var_28 = var_8->p_;
              }
            }
            else {
              var_36 = var_34[0x1a];
              if (var_36 == 0) goto LAB_001a22b4;
            }
LAB_001a2184:
            EVar19 = *(type_14 *)(var_12 + 0x2c);
            EVar16 = *(type_14 *)(var_12 + 0x34);
            var_28->sh_info = var_36;
            var_28->sh_addralign = EVar19;
            var_28->sh_entsize = EVar16;
            return;
          }
          if (*(int *)(var_12 + 0x4c) == 0) {
            var_36 = *(type_8 *)(var_12 + 0x50);
            goto LAB_001a2184;
          }
          var_36 = *(type_8 *)(*(int *)(var_12 + 0x4c) + 0x10);
          if (var_36 != 0) goto LAB_001a2184;
          Symbol::var_37((type_20 *)var_35);
LAB_001a21d4:
          if (-1 < *(int *)(var_12 + 0x98) << 2) goto code_r0x001a21e4;
          var_35 = pLVar17;
          var_36 = (**(type_16 **)(var_33 + 0x2929f0))();
          var_28 = var_8->p_;
          var_34 = *(int **)(var_12 + 0x48);
          var_28->sh_link = var_36;
        } while( true );
      }
      goto LAB_001a227c;
    }
  }
  else {
    (**(type_16 **)(var_33 + 0x29036c))
              (*(int *)(var_33 + 0x29035c) + -0x4fe0,0xc5,*(int *)(var_33 + 0x29035c) + 0x7850);
LAB_001a227c:
    (**(type_16 **)(var_33 + 0x29036c))
              (*(int *)(var_33 + 0x29035c) + -0x4fe0,0xcf,*(int *)(var_33 + 0x29035c) + 0x7894);
  }
  var_35 = (type_13 *)(*(int *)(var_33 + 0x29035c) + -0x4fe0);
  (**(type_16 **)(var_33 + 0x29036c))(var_35,0xe3,*(int *)(var_33 + 0x29035c) + 0x7818);
LAB_001a22b4:
  Output_section::var_37((type_12 *)var_35);
LAB_001a22c0:
                    /* WARNING: Subroutine does not return */
  Layout::var_38(var_35);
code_r0x001a1dcc:
  pSVar11 = this->segment_list_;
LAB_001a1dd0:
  var_20 = var_20 + 1;
  if ((pSVar11->super__Vector_base<var_22::type_15*,var_23::allocator<var_22::type_15*>var_17>var_18).
      _M_impl._M_finish == var_20) goto LAB_001a1de0;
  goto LAB_001a1c60;
LAB_001a1d74:
  var_6 = (*var_15)();
  var_12 = var_26;
  goto joined_r0x001a1bd8;
LAB_001a1fa0:
  (**(type_16 **)(var_12 + -0x7e0c))(*(int *)(var_12 + -0x7e1c) + -0x4fe0,0x1043,var_19 + 0x7868);
  unaff_s0 = var_28;
LAB_001a1fb8:
  var_14 = (type_7 *)0x1;
  goto LAB_001a1de0;
code_r0x001a21e4:
  if (-1 < *(int *)(var_12 + 0x98) << 3) {
    var_6 = *(type_3 *)(var_12 + 0x44);
    var_35 = (type_13 *)0x0;
    goto LAB_001a2120;
  }
  var_35 = (type_13 *)pLVar17->dynsym_section_;
  if (var_35 == (type_13 *)0x0) goto LAB_001a22c0;
  var_16 = ((type_6 *)&var_35->number_of_input_files_)->_vptr_Output_data[0xb];
  if (var_16 != *(type_2 **)(var_33 + 0x290eac)) goto LAB_001a210c;
  var_6 = (var_35->sympool_).string_set_._M_h._M_element_count;
  var_35 = (type_13 *)0xffffffff;
  var_26 = *(int *)(var_33 + 0x29035c);
  if (var_6 != 0xffffffff) goto LAB_001a2120;
LAB_001a215c:
  var_34 = (int *)0x1043;
  var_6 = *(int *)(var_33 + 0x29035c) - 0x4fe0;
  (**(type_16 **)(var_33 + 0x29036c))(var_6,0x1043,var_26 + 0x7868);
  var_28 = extraout_v1_00;
LAB_001a2170:
  var_6 = var_6 | 0x40;
  goto LAB_001a20c8;
}


(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))))) (identifier)) declarator: (pointer_declarator 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (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: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (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: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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: (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: (identifier)) 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))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (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) (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_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 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (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: (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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (number_literal))) right: (binary_expression left: (false) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (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: (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))))))) (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: (subscript_expression argument: (identifier) index: (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: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))))) alternative: (else_clause (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: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (parenthesized_expression (comma_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (comma_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: (comma_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) 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: (pointer_expression argument: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement)))) (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)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (parenthesized_expression (comma_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (comma_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: (comma_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (return_statement))) (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement) (ERROR))

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

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

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  uint extraout_v1;
  undefined4 *puVar6;
  undefined4 uVar7;
  int *piVar8;
  int *piVar9;
  int *piVar10;
  uint uVar11;
  undefined4 *puVar12;
  undefined4 *puVar13;
  int iVar14;
  undefined4 *puVar15;
  code *pcVar16;
  undefined4 *local_48 [2];
  undefined4 local_40;
  undefined4 local_3c;
  code *local_38;
  int *local_34;
  int *local_30;
  
  puVar2 = PTR_FUN_00432fc8;
  if (-1 < *(int *)(this + 0x20) << 1) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xcf,PTR_s_alize_xindex_004323b4 + 0x7894);
    return;
  }
  uVar7 = *(undefined4 *)(this + 0x10);
  uVar5 = *(uint *)(this + 0x14);
  if (-1 < *(int *)(this + 0x20) << 2) goto LAB_001a2020;
  if (-1 < *(int *)(this + 0x18)) {
    uVar11 = uVar5 + *(int *)(this + 0x1c);
    iVar3 = (uint)(uVar11 < uVar5) + *(int *)(this + 0x18);
    if ((iVar3 <= *(int *)(param_1 + 8)) &&
       ((*(int *)(param_1 + 8) != iVar3 || (uVar11 <= *(uint *)(param_1 + 0xc))))) {
      puVar13 = (undefined4 *)(*(int *)(param_1 + 0x10) + *(int *)(this + 0x1c));
      *puVar13 = 0;
      puVar13[1] = 0;
      puVar13[2] = 0;
      puVar13[3] = 0;
      puVar13[4] = 0;
      (*(code *)puVar2)(uVar7,uVar5,0,0x28);
      puVar2 = PTR_do_out_shndx_00432f04;
      if (extraout_v1 < 0xff00) {
        piVar8 = *(int **)(this + 0x38);
        puVar13[5] = 0;
        pcVar16 = *(code **)(*piVar8 + 0x2c);
        if (pcVar16 == (code *)puVar2) goto LAB_001a1bc4;
LAB_001a1d74:
        uVar5 = (*pcVar16)();
        if (0xfeff < uVar5) goto LAB_001a1be0;
LAB_001a1d8c:
        piVar8 = *(int **)(this + 0x28);
        puVar13[6] = 0;
        piVar9 = (int *)*piVar8;
        piVar10 = (int *)piVar8[1];
        uVar5 = (int)piVar10 - (int)piVar9 >> 2;
        if (0xfffe < uVar5) goto LAB_001a1c10;
LAB_001a1db8:
        iVar3 = 0;
      }
      else {
        piVar8 = *(int **)(this + 0x38);
        iVar3 = *piVar8;
        puVar13[5] = (((extraout_v1 >> 0x10) << 0x18 | (extraout_v1 >> 0x18) << 0x10) >> 0x10) +
                     ((extraout_v1 & 0xff) << 8 | extraout_v1 >> 8 & 0xff) * 0x10000;
        pcVar16 = *(code **)(iVar3 + 0x2c);
        if (pcVar16 != (code *)puVar2) goto LAB_001a1d74;
LAB_001a1bc4:
        uVar5 = piVar8[0x19];
        if (uVar5 == 0xffffffff) {
LAB_001a1fa0:
          (*(code *)PTR_do_gold_unreachable_004323c4)
                    (PTR_s_alize_xindex_004323b4 + -0x4fe0,0x1043,
                     PTR_s_alize_xindex_004323b4 + 0x7868);
          return;
        }
        if (uVar5 < 0xff00) goto LAB_001a1d8c;
LAB_001a1be0:
        piVar8 = *(int **)(this + 0x28);
        piVar9 = (int *)*piVar8;
        piVar10 = (int *)piVar8[1];
        puVar13[6] = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
        uVar5 = (int)piVar10 - (int)piVar9 >> 2;
        if (uVar5 < 0xffff) goto LAB_001a1db8;
LAB_001a1c10:
        iVar3 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
      }
      puVar1 = PTR_parameters_00432be0;
      local_34 = (int *)PTR_parameters_00432be0;
      puVar13[7] = iVar3;
      puVar13[8] = 0;
      iVar3 = *(int *)puVar1;
      puVar13[9] = 0;
      puVar13 = puVar13 + 10;
      if (*(int *)(iVar3 + 8) == 0) {
LAB_001a1fe8:
        (*(code *)PTR_do_gold_unreachable_004323c4)
                  (PTR_s_alize_xindex_004323b4 + -0x5cec,0x5c,PTR_s_alize_xindex_004323b4 + 0x78cc);
        return;
      }
      if (*(char *)(*(int *)(iVar3 + 8) + 0x3195) == '\0') {
        if (piVar9 == piVar10) {
LAB_001a1fb8:
          iVar3 = 1;
        }
        else {
          iVar3 = 1;
          local_38 = (code *)PTR_write_header<32,false>_00434a4c;
          local_30 = piVar9;
          do {
            iVar14 = *local_30;
            if (*(int *)(iVar14 + 0x198) == 1) {
              local_40 = *(undefined4 *)(this + 0x24);
              piVar8 = (int *)(iVar14 + 4);
              local_3c = *(undefined4 *)(this + 0x34);
              do {
                puVar6 = (undefined4 *)piVar8[-1];
                if ((undefined4 *)*piVar8 != puVar6) {
                  piVar9 = (int *)*puVar6;
                  puVar15 = puVar13;
                  while( true ) {
                    iVar4 = (**(code **)(*piVar9 + 0x18))(piVar9);
                    puVar13 = puVar15;
                    if (iVar4 != 0) {
                      piVar9 = (int *)*puVar6;
                      if (*(code **)(*piVar9 + 0x2c) == (code *)puVar2) {
                        iVar4 = piVar9[0x19];
                        if (iVar4 == -1) goto LAB_001a1fa0;
                      }
                      else {
                        iVar4 = (**(code **)(*piVar9 + 0x2c))(piVar9);
                      }
                      if (iVar4 != iVar3) {
                        (*(code *)PTR_do_gold_unreachable_004323c4)
                                  (PTR_s_alize_xindex_004323b4 + 0x59f0,0x1354,
                                   PTR_s_alize_xindex_004323b4 + 0x7878);
                        return;
                      }
                      iVar3 = iVar3 + 1;
                      puVar13 = puVar15 + 10;
                      local_48[0] = puVar15;
                      (*local_38)(piVar9,local_40,local_3c,local_48);
                    }
                    puVar6 = puVar6 + 1;
                    if ((undefined4 *)*piVar8 == puVar6) break;
                    piVar9 = (int *)*puVar6;
                    puVar15 = puVar13;
                  }
                }
                piVar8 = piVar8 + 3;
              } while ((int *)(iVar14 + 0x160) != piVar8);
              piVar8 = *(int **)(this + 0x28);
            }
            local_30 = local_30 + 1;
          } while ((int *)piVar8[1] != local_30);
        }
      }
      else {
        puVar6 = *(undefined4 **)(this + 0x2c);
        puVar15 = (undefined4 *)*puVar6;
        if ((undefined4 *)puVar6[1] == puVar15) goto LAB_001a1fb8;
        iVar3 = 1;
        puVar12 = puVar13;
        do {
          piVar8 = (int *)*puVar15;
          if (((piVar8[0x17] & 2U) != 0) || (puVar13 = puVar12, piVar8[0x15] == 0x11)) {
            if (*(code **)(*piVar8 + 0x2c) == (code *)puVar2) {
              iVar14 = piVar8[0x19];
              if (iVar14 == -1) goto LAB_001a1fa0;
            }
            else {
              iVar14 = (**(code **)(*piVar8 + 0x2c))();
            }
            if (iVar14 != iVar3) {
              uVar7 = 0x155;
              goto LAB_001a1fc4;
            }
            iVar3 = iVar3 + 1;
            puVar13 = puVar12 + 10;
            local_48[0] = puVar12;
            Output_section::write_header<32,false>
                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),
                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);
            puVar6 = *(undefined4 **)(this + 0x2c);
          }
          puVar15 = puVar15 + 1;
          puVar12 = puVar13;
        } while ((undefined4 *)puVar6[1] != puVar15);
      }
      puVar6 = *(undefined4 **)(this + 0x30);
      puVar15 = (undefined4 *)*puVar6;
      if (puVar15 != (undefined4 *)puVar6[1]) {
        do {
          piVar8 = (int *)*puVar15;
          if (piVar8[0x15] == 0x11) {
            if (*(int *)(*local_34 + 8) == 0) goto LAB_001a1fe8;
            puVar12 = puVar13;
            if (*(char *)(*(int *)(*local_34 + 8) + 0x3195) == '\0') {
              pcVar16 = *(code **)(*piVar8 + 0x2c);
              if (pcVar16 == (code *)puVar2) goto LAB_001a1e14;
LAB_001a1e9c:
              iVar14 = (*pcVar16)();
              goto LAB_001a1e20;
            }
          }
          else {
            pcVar16 = *(code **)(*piVar8 + 0x2c);
            if (pcVar16 != (code *)puVar2) goto LAB_001a1e9c;
LAB_001a1e14:
            iVar14 = piVar8[0x19];
            if (iVar14 == -1) goto LAB_001a1fa0;
LAB_001a1e20:
            if (iVar3 != iVar14) {
              uVar7 = 0x167;
LAB_001a1fc4:
              (*(code *)PTR_do_gold_unreachable_004323c4)
                        (PTR_s_alize_xindex_004323b4 + 0x59f0,uVar7,
                         PTR_s_alize_xindex_004323b4 + 0x78b0);
              return;
            }
            iVar3 = iVar3 + 1;
            puVar12 = puVar13 + 10;
            local_48[0] = puVar13;
            Output_section::write_header<32,false>
                      ((Output_section *)*puVar15,*(Layout **)(this + 0x24),
                       *(Stringpool_template **)(this + 0x34),(Shdr_write *)local_48);
            puVar6 = *(undefined4 **)(this + 0x30);
          }
          puVar15 = puVar15 + 1;
          puVar13 = puVar12;
        } while ((undefined4 *)puVar6[1] != puVar15);
      }
      if (*(int *)(this + 0x20) << 2 < 0) {
        return;
      }
      goto LAB_001a2020;
    }
  }
  FUN_00182b60(uVar7);
LAB_001a2020:
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_s_alize_xindex_004323b4 + -0x4fe0,0xe3,PTR_s_alize_xindex_004323b4 + 0x7818);
  return;
}

