
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: void do_add_symbols(Sized_relobj_incr<64,_false> * this, Symbol_table *
   symtab, Read_symbols_data * param_2, Layout * param_3) */

void __thiscall
gold::Sized_relobj_incr<64,_false>::do_add_symbols
          (Sized_relobj_incr<64,_false> *this,Symbol_table *symtab,Read_symbols_data *param_2,
          Layout *param_3)

{
  char *pcVar1;
  uint *puVar2;
  uint uVar3;
  Symbol *pSVar4;
  byte bVar5;
  uint uVar6;
  pointer ppSVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  uchar *puVar11;
  int iVar12;
  pointer ppSVar13;
  char cVar14;
  Sized_incremental_binary<64,_false> *pSVar15;
  Output_section *pOVar16;
  int iVar17;
  int iVar18;
  uint uVar19;
  uint uVar20;
  int iVar21;
  char *pcVar22;
  uint uVar23;
  uint *puVar24;
  uint uVar25;
  uint uVar26;
  int iVar27;
  uchar symbuf [24];
  Elf_strtab strtab;
  uint symtab_count;
  View symtab_view;
  Sym<64,_false> sym;
  int local_50;
  
  sym.p_ = (Sym_data<64> *)symbuf;
  uVar6 = (uint)(byte)(this->input_reader_).flags_;
  if ((1 < uVar6 - 1) && (uVar6 != 4)) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);
  }
  ppSVar7 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
            _M_impl._M_start;
  ppSVar13 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
             _M_impl._M_finish;
  uVar10 = (int)ppSVar13 - (int)ppSVar7 >> 2;
  uVar6 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4);
  uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
          ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
  if (uVar10 < uVar6) {
    (*(code *)PTR__M_default_append_004c3664)(&this->symbols_,uVar6 - uVar10);
    symtab_view.p_ = (uchar *)0x0;
    strtab.base_ = (char *)0x0;
    strtab.usable_size_ = 0;
    Sized_incremental_binary<64,_false>::get_symtab_view
              (this->ibase_,&symtab_view,&symtab_count,&strtab);
    pSVar15 = this->ibase_;
    uVar10 = (uint)(pSVar15->symtab_reader_).len_;
    if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {
      uVar10 = uVar10 + 3 >> 2;
    }
    else {
      uVar10 = uVar10 >> 2;
    }
  }
  else {
    if ((uVar6 < uVar10) && (ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7)) {
      (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
      _M_finish = ppSVar7;
    }
    symtab_view.p_ = (uchar *)0x0;
    strtab.base_ = (char *)0x0;
    strtab.usable_size_ = 0;
    Sized_incremental_binary<64,_false>::get_symtab_view
              (this->ibase_,&symtab_view,&symtab_count,&strtab);
    pSVar15 = this->ibase_;
    uVar10 = (uint)(pSVar15->symtab_reader_).len_;
    if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {
      uVar10 = uVar10 + 3;
    }
    uVar10 = uVar10 >> 2;
    if (uVar6 == 0) {
      return;
    }
  }
  pcVar1 = PTR_s_in_a_linker_script_004c191c + 0x6db8;
  uVar23 = 0;
  do {
    if (1 < (byte)(this->input_reader_).flags_ - 1) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);
    }
    uVar8 = (this->input_reader_).info_offset_;
    puVar11 = ((this->input_reader_).inputs_)->p_;
    iVar17 = uVar8 + 0x20;
    uVar8 = *(uint *)(puVar11 + uVar8);
    puVar2 = (uint *)(puVar11 +
                     uVar23 * 0x14 + iVar17 +
                     ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18);
    uVar8 = *puVar2;
    iVar21 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
    puVar24 = (uint *)(symtab_view.p_ + iVar21 * 0x18);
    uVar8 = *puVar24;
    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
    pcVar22 = pcVar1;
    if (uVar8 < strtab.usable_size_) {
      pcVar22 = strtab.base_ + uVar8;
    }
    local_50 = (int)(uint)*(byte *)(puVar24 + 1) >> 4;
    cVar14 = (char)local_50;
    uVar8 = *(byte *)(puVar24 + 1) & 0xf;
    if (local_50 == 0) {
      uVar25 = puVar2[1];
      cVar14 = '\x01';
      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +
               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;
      uVar25 = uVar26 - 1;
      local_50 = 1;
      if (0xfffffffd < uVar25) goto LAB_0019bf08;
LAB_0019bd28:
      uVar3 = puVar24[2];
      uVar9 = puVar24[3];
      uVar19 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |
               (uint)(*(ushort *)((int)puVar24 + 6) >> 8);
      iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
               ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
      uVar20 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
      if (uVar19 == 0xfff1) {
        symbuf._6_2_ = 0xf1ff;
      }
      else {
        if (uVar19 == 0) {
          iVar17 = 0x884;
LAB_0019c214:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);
        }
        pOVar16 = (pSVar15->section_map_).
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                  _M_impl._M_start[uVar19];
        if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {
          iVar17 = 0x886;
          goto LAB_0019c214;
        }
        iVar17 = uVar25 * 0x18 + iVar17;
        uVar9 = *(uint *)(puVar11 + iVar17 + 4);
        uVar25 = *(uint *)(puVar11 + iVar17 + 8);
        uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);
        if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {
          iVar17 = 0x889;
          goto LAB_0019c214;
        }
        uVar9 = uVar20;
        if (uVar8 != 6) {
          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {
LAB_0019c238:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,
                                PTR_s__s_004c1a50 + 0x25d8);
          }
          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;
          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -
                   (uint)(uVar20 < uVar9);
        }
        uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);
        uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -
                (uint)(uVar9 < uVar25);
        symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;
        uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +
                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;
        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
      }
      symbuf._20_4_ = puVar24[5];
      symbuf[4] = (char)uVar8 + cVar14 * '\x10';
      symbuf._16_4_ = puVar24[4];
      symbuf[0] = '\0';
      symbuf[1] = '\0';
      symbuf[2] = '\0';
      symbuf[3] = '\0';
      symbuf[5] = *(uchar *)((int)puVar24 + 5);
      symbuf._8_4_ = uVar3;
      symbuf._12_4_ = uVar9;
      pSVar4 = (Symbol *)
               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);
      this->defined_count_ = this->defined_count_ + 1;
    }
    else {
      uVar25 = puVar2[1];
      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +
               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;
      uVar25 = uVar26 - 1;
      if (uVar25 < 0xfffffffe) goto LAB_0019bd28;
LAB_0019bf08:
      symbuf._20_4_ = puVar24[5];
      symbuf[0xc] = '\0';
      symbuf[0xd] = '\0';
      symbuf[0xe] = '\0';
      symbuf[0xf] = '\0';
      symbuf[8] = '\0';
      symbuf[9] = '\0';
      symbuf[10] = '\0';
      symbuf[0xb] = '\0';
      symbuf._16_4_ = puVar24[4];
      symbuf[4] = (char)uVar8 + (char)local_50 * '\x10';
      symbuf[0] = '\0';
      symbuf[1] = '\0';
      symbuf[2] = '\0';
      symbuf[3] = '\0';
      symbuf[5] = *(uchar *)((int)puVar24 + 5);
      symbuf[6] = '\0';
      symbuf[7] = '\0';
      pSVar4 = (Symbol *)
               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);
      if (uVar26 == 0xffffffff) {
        uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;
        if (uVar25 == 0) {
          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {
            bVar5 = (pSVar4->u2_).shndx != 0;
          }
          else {
            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();
            bVar5 = bVar5 ^ 1;
          }
        }
        else {
          bVar5 = uVar25 != 0x8000;
        }
        if (bVar5 == 0) {
          uVar3 = puVar24[2];
          uVar25 = puVar24[3];
          uVar19 = puVar24[4];
          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |
                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);
          uVar9 = puVar24[5];
          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +
                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;
          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +
                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;
          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
          if (uVar26 == 0xfff1) {
            (*(code *)PTR_define_as_constant_004c27d4)
                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,
                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);
          }
          else {
            pOVar16 = (this->ibase_->section_map_).
                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                      ._M_impl._M_start[uVar26];
            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {
              iVar17 = 0x8ae;
              goto LAB_0019c214;
            }
            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;
            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;
            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;
            if (iVar18 != 0 || iVar27 != 0) {
              (*(code *)PTR_reserve_004c3a5c)
                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,
                         iVar27);
            }
            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);
          }
        }
      }
    }
    uVar8 = uVar23 + 1;
    pSVar15 = this->ibase_;
    ppSVar7 = (pSVar15->symbol_map_).
              super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;
    (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
    _M_start[uVar23] = pSVar4;
    ppSVar7[(uVar10 - symtab_count) + iVar21] = pSVar4;
    uVar23 = uVar8;
    if (uVar8 == uVar6) {
      return;
    }
  } while( true );
}



void FUN_0019bb14(int param_1,undefined4 param_2)

{
  uint *puVar1;
  uint uVar2;
  byte bVar3;
  int iVar4;
  uint uVar5;
  uint uVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  uint uVar10;
  uint uVar11;
  int iVar12;
  int iVar13;
  undefined *puVar14;
  uint uVar15;
  uint *puVar16;
  int iVar17;
  uint uVar18;
  uint uVar19;
  undefined4 local_80;
  char local_7c;
  undefined1 local_7b;
  ushort local_7a;
  uint local_78;
  uint local_74;
  uint local_70;
  uint local_6c;
  int local_68;
  uint local_64;
  uint local_60;
  int local_5c;
  undefined4 *local_58 [2];
  int local_50;
  uint local_4c;
  undefined4 **local_48;
  int local_44;
  undefined *local_40;
  int local_3c;
  uint local_38;
  int local_34;
  int local_30;
  int local_2c;
  
  local_58[0] = &local_80;
  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);
  }
  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;
  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);
  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;
  if (uVar6 < local_4c) {
    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);
    local_5c = 0;
    local_68 = 0;
    local_64 = 0;
    gold::Sized_incremental_binary<64,false>::get_symtab_view
              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,
               (Elf_strtab *)&local_68);
    iVar7 = *(int *)(param_1 + 0x90);
    iVar4 = *(int *)(iVar7 + 0xc0);
    uVar6 = *(uint *)(iVar7 + 0xc4);
    if (iVar4 < 0) {
      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;
    }
    else {
      uVar6 = iVar4 << 0x1e | uVar6 >> 2;
    }
  }
  else {
    if ((local_4c < uVar6) &&
       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {
      *(int *)(param_1 + 0xc0) = iVar4;
    }
    local_5c = 0;
    local_68 = 0;
    local_64 = 0;
    gold::Sized_incremental_binary<64,false>::get_symtab_view
              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,
               (Elf_strtab *)&local_68);
    iVar7 = *(int *)(param_1 + 0x90);
    iVar4 = *(int *)(iVar7 + 0xc0);
    uVar15 = *(uint *)(iVar7 + 0xc4);
    uVar6 = uVar15;
    if (iVar4 < 0) {
      uVar6 = uVar15 + 3;
      iVar4 = (uint)(uVar6 < uVar15) + iVar4;
    }
    uVar6 = iVar4 << 0x1e | uVar6 >> 2;
    if (local_4c == 0) {
      return;
    }
  }
  local_44 = uVar6 - local_60;
  local_48 = local_58;
  uVar6 = 0;
  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;
  do {
    if (1 < *(byte *)(param_1 + 0x9f) - 1) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);
    }
    iVar17 = uVar6 * 4;
    iVar4 = **(int **)(param_1 + 0x98);
    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;
    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));
    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +
                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);
    uVar15 = *puVar1;
    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;
    puVar16 = (uint *)(local_5c + iVar13 * 0x18);
    uVar15 = *puVar16;
    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;
    puVar14 = local_40;
    if (uVar15 < local_64) {
      puVar14 = (undefined *)(local_68 + uVar15);
    }
    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;
    uVar15 = *(byte *)(puVar16 + 1) & 0xf;
    if (local_50 == 0) {
      uVar18 = puVar1[1];
      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
      uVar18 = uVar19 - 1;
      local_50 = 1;
      if (0xfffffffd < uVar18) goto LAB_0019bf08;
LAB_0019bd28:
      uVar2 = puVar16[2];
      uVar5 = puVar16[3];
      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |
               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);
      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;
      if (uVar10 == 0xfff1) {
        local_7a = 0xf1ff;
      }
      else {
        if (uVar10 == 0) {
          iVar4 = 0x884;
LAB_0019c214:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);
        }
        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);
        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {
          iVar4 = 0x886;
          goto LAB_0019c214;
        }
        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;
        uVar5 = *(uint *)(iVar4 + 4);
        uVar18 = *(uint *)(iVar4 + 8);
        uVar2 = *(uint *)(iVar4 + 0xc);
        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {
          iVar4 = 0x889;
          goto LAB_0019c214;
        }
        uVar5 = uVar11;
        if (uVar15 != 6) {
          if (-1 < *(int *)(iVar7 + 0x20)) {
LAB_0019c238:
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable
                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,
                       PTR_s__s_004c1a50 + 0x25d8);
          }
          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);
          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);
        }
        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);
        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -
                (uint)(uVar5 < uVar18);
        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;
        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
      }
      local_6c = puVar16[5];
      local_7c = (char)uVar15 + (char)local_50 * '\x10';
      local_70 = puVar16[4];
      local_80 = 0;
      local_7b = *(undefined1 *)((int)puVar16 + 5);
      local_78 = uVar2;
      local_74 = uVar5;
      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)
      ;
      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;
    }
    else {
      uVar18 = puVar1[1];
      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
      uVar18 = uVar19 - 1;
      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;
LAB_0019bf08:
      local_6c = puVar16[5];
      local_74 = 0;
      local_78 = 0;
      local_70 = puVar16[4];
      local_7c = (char)uVar15 + (char)local_50 * '\x10';
      local_80 = 0;
      local_7b = *(undefined1 *)((int)puVar16 + 5);
      local_7a = 0;
      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)
      ;
      if (uVar19 == 0xffffffff) {
        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;
        if (uVar18 == 0) {
          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {
            bVar3 = *(int *)(iVar4 + 0xc) != 0;
          }
          else {
            local_3c = iVar4;
            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();
            bVar3 = bVar3 ^ 1;
            iVar4 = local_3c;
          }
        }
        else {
          bVar3 = uVar18 != 0x8000;
        }
        if (bVar3 == 0) {
          uVar2 = puVar16[2];
          uVar18 = puVar16[3];
          uVar10 = puVar16[4];
          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |
                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);
          uVar5 = puVar16[5];
          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;
          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;
          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
          if (uVar19 == 0xfff1) {
            local_3c = iVar4;
            (*(code *)PTR_define_as_constant_004c27d4)
                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,
                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);
            iVar4 = local_3c;
          }
          else {
            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);
            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {
              iVar4 = 0x8ae;
              goto LAB_0019c214;
            }
            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;
            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);
            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);
            local_3c = iVar12;
            if (iVar8 != 0 || iVar9 != 0) {
              local_38 = uVar15;
              local_34 = iVar8;
              local_30 = iVar7;
              local_2c = iVar4;
              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);
              iVar4 = local_2c;
            }
            iVar7 = local_3c;
            local_3c = iVar4;
            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);
            iVar4 = local_3c;
          }
        }
      }
    }
    uVar6 = uVar6 + 1;
    iVar7 = *(int *)(param_1 + 0x90);
    iVar8 = *(int *)(iVar7 + 0x68);
    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;
    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;
    if (uVar6 == local_4c) {
      return;
    }
  } while( true );
}


lui gp,0x33
addiu gp,gp,-0x28d4
addu gp,gp,t9
addiu sp,sp,-0xc8
addiu v0,sp,0x48
sw s4,0xb0(sp)
or s4,a0,zero
sw v0,0x70(sp)
lbu a0,0x9f(a0)
sw gp,0x40(sp)
sw s1,0xa4(sp)
or s1,a1,zero
addiu v0,a0,-0x1
sw ra,0xc4(sp)
sw s8,0xc0(sp)
sltiu v0,v0,0x2
sw s7,0xbc(sp)
sw s6,0xb8(sp)
sw s5,0xb4(sp)
sw s3,0xac(sp)
sw s2,0xa8(sp)
bne v0,zero,0x0019bb7c
_sw s0,0xa0(sp)
li v0,0x4
bne a0,v0,0x0019c260
_lw a2,-0x77f0(gp)
lw v0,0x98(s4)
lw a3,0xa4(s4)
lw a0,0xbc(s4)
lw a2,0xc0(s4)
lw v0,0x0(v0)
subu a1,a2,a0
addu v0,v0,a3
sra a1,a1,0x2
lw s3,0x4(v0)
wsbh v0,s3
rotr v0,v0,0x10
sw v0,0x7c(sp)
sltu v0,a1,v0
bne v0,zero,0x0019c188
_lw v0,0x7c(sp)
sltu a1,v0,a1
beq a1,zero,0x0019bbd4
_sll v0,v0,0x2
addu a0,a0,v0
beq a2,a0,0x0019bbd4
_nop
sw a0,0xc0(s4)
lw a0,0x90(s4)
addiu a3,sp,0x60
lw t9,-0x57d0(gp)
addiu a2,sp,0x68
addiu a1,sp,0x6c
sw zero,0x6c(sp)
sw zero,0x60(sp)
bal 0x001932c0
_sw zero,0x64(sp)
lw a3,0x90(s4)
lw gp,0x40(sp)
lw a2,0xc0(a3)
lw a1,0xc4(a3)
or v0,a2,zero
bltz a2,0x0019c178
_or a0,a1,zero
lw v1,0x7c(sp)
sll s2,v0,0x1e
srl a0,a0,0x2
lw v0,0x68(sp)
beq v1,zero,0x0019beb4
_or s2,s2,a0
subu v0,s2,v0
addiu v1,sp,0x70
sw v0,0x84(sp)
or s5,zero,zero
lw v0,-0x7924(gp)
sw v1,0x80(sp)
addiu v0,v0,0x6db8
sw v0,0x88(sp)
lbu v0,0x9f(s4)
addiu v0,v0,-0x1
sltiu v0,v0,0x2
bne v0,zero,0x0019bc78
_lw a2,-0x77f0(gp)
li a1,0x414
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x1bd4
bal 0x0017db90
_addiu a0,a0,0xefc
lw a1,0x98(s4)
sll s7,s5,0x2
lw a0,0xa4(s4)
addu v0,s7,s5
lw a1,0x0(a1)
addiu t4,a0,0x20
sll v0,v0,0x2
addu a0,a1,a0
addu v0,v0,t4
lw a0,0x0(a0)
wsbh a0,a0
rotr a0,a0,0x10
sll a2,a0,0x1
addu a0,a2,a0
lw a2,0x64(sp)
sll a0,a0,0x3
addu v0,v0,a0
addu v0,a1,v0
lw s0,0x0(v0)
wsbh s0,s0
rotr s0,s0,0x10
sll s6,s0,0x1
addu s6,s6,s0
sll a0,s6,0x3
lw s6,0x6c(sp)
addu s6,s6,a0
lw a0,0x0(s6)
wsbh a0,a0
rotr a0,a0,0x10
sltu a2,a0,a2
beq a2,zero,0x0019c098
_lw t3,0x60(sp)
addu s2,t3,a0
lbu t2,0x4(s6)
sra a2,t2,0x4
beq a2,zero,0x0019bee4
_andi s3,t2,0xf
lw s8,0x4(v0)
wsbh s8,s8
rotr s8,s8,0x10
addiu t8,s8,-0x1
sltiu v0,t8,-0x2
beq v0,zero,0x0019bf08
_sw a2,0x78(sp)
lhu t6,0x6(s6)
ori t9,zero,0xfff1
lw v0,0x8(s6)
lw a0,0xc(s6)
wsbh t6,t6
wsbh t7,v0
wsbh t5,a0
andi t6,t6,0xffff
rotr t5,t5,0x10
beq t6,t9,0x0019c0a0
_rotr t7,t7,0x10
beq t6,zero,0x0019c22c
_nop
lw v0,0x5c(a3)
sll a0,t6,0x2
addu v0,v0,a0
lw a3,0x0(v0)
beq a3,zero,0x0019c210
_nop
lw v0,0x98(a3)
ext v0,v0,0xa,0x1
beq v0,zero,0x0019c210
_sll v0,t8,0x1
addu v0,v0,t8
sll v0,v0,0x3
addu t4,v0,t4
addu a1,a1,t4
lw t4,0x4(a1)
lw v0,0x8(a1)
lw a0,0xc(a1)
wsbh a1,t4
wsbh v0,v0
wsbh a0,a0
rotr a1,a1,0x10
rotr v0,v0,0x10
bne t6,a1,0x0019c250
_rotr a0,a0,0x10
li a1,0x6
beq s3,a1,0x0019bdf0
_nop
lw a1,0x20(a3)
bgez a1,0x0019c234
_nop
lw t4,0xc(a3)
lw a1,0x8(a3)
subu a3,t7,t4
subu t5,t5,a1
sltu a1,t7,a3
subu t5,t5,a1
or t7,a3,zero
subu v0,t7,v0
subu a0,t5,a0
sltu a1,t7,v0
subu a0,a0,a1
wsbh v0,v0
wsbh a0,a0
wsbh s8,s8
rotr v0,v0,0x10
rotr a0,a0,0x10
andi s8,s8,0xffff
lw t5,0x14(s6)
sll a2,a2,0x4
sw a0,0x54(sp)
or a3,zero,zero
sw v0,0x50(sp)
addu t2,s3,a2
lw t4,0x10(s6)
or a0,s1,zero
lw v1,0x80(sp)
or a2,s2,zero
lw t9,-0x575c(gp)
or a1,s4,zero
sw t4,0x58(sp)
sw t5,0x5c(sp)
sw zero,0x48(sp)
sb t2,0x4c(sp)
lbu v0,0x5(s6)
sh s8,0x4e(sp)
sw v1,0x10(sp)
jalr t9
_sb v0,0x4d(sp)
lw a0,0xc8(s4)
or t4,v0,zero
lw gp,0x40(sp)
addiu a0,a0,0x1
sw a0,0xc8(s4)
lw v0,0x84(sp)
addiu s5,s5,0x1
lw a3,0x90(s4)
addu s0,v0,s0
lw v0,0xbc(s4)
sll a0,s0,0x2
lw s0,0x68(a3)
addu t1,v0,s7
lw v0,0x7c(sp)
addu s0,s0,a0
sw t4,0x0(t1)
bne s5,v0,0x0019bc4c
_sw t4,0x0(s0)
lw ra,0xc4(sp)
lw s8,0xc0(sp)
lw s7,0xbc(sp)
lw s6,0xb8(sp)
lw s5,0xb4(sp)
lw s4,0xb0(sp)
lw s3,0xac(sp)
lw s2,0xa8(sp)
lw s1,0xa4(sp)
lw s0,0xa0(sp)
jr ra
_addiu sp,sp,0xc8
lw s8,0x4(v0)
li v1,0x1
li a2,0x1
wsbh s8,s8
rotr s8,s8,0x10
addiu t8,s8,-0x1
sltiu v0,t8,-0x2
bne v0,zero,0x0019bd28
_sw v1,0x78(sp)
or v1,zero,zero
lw a1,0x14(s6)
or v0,zero,zero
lw t9,-0x575c(gp)
sw v1,0x54(sp)
sll a2,a2,0x4
sw v0,0x50(sp)
or a3,zero,zero
lw a0,0x10(s6)
addu v0,s3,a2
lw v1,0x80(sp)
or a2,s2,zero
sw a1,0x5c(sp)
or a1,s4,zero
sw a0,0x58(sp)
or a0,s1,zero
sb v0,0x4c(sp)
sw zero,0x48(sp)
lbu v0,0x5(s6)
sh zero,0x4e(sp)
sw v1,0x10(sp)
jalr t9
_sb v0,0x4d(sp)
li a0,-0x1
lw gp,0x40(sp)
bne s8,a0,0x0019be80
_or t4,v0,zero
lw a0,0x28(t4)
andi v0,a0,0xe000
bne v0,zero,0x0019c0a8
_xori v0,v0,0x8000
ext v0,a0,0x2,0x1
beq v0,zero,0x0019c0b0
_lw a0,0xc(t4)
sltu v0,zero,a0
bne v0,zero,0x0019be84
_lw v0,0x84(sp)
lhu a0,0x6(s6)
ori a1,zero,0xfff1
lw t5,0x8(s6)
lw v0,0xc(s6)
lw s8,0x10(s6)
wsbh a0,a0
lw t6,0x14(s6)
wsbh t5,t5
wsbh v0,v0
wsbh s8,s8
wsbh t6,t6
andi a0,a0,0xffff
rotr t5,t5,0x10
rotr v0,v0,0x10
rotr s8,s8,0x10
beq a0,a1,0x0019c11c
_rotr t6,t6,0x10
lw a1,0x90(s4)
sll a0,a0,0x2
lw a1,0x5c(a1)
addu a0,a1,a0
lw t7,0x0(a0)
beq t7,zero,0x0019c258
_nop
lw a0,0x98(t7)
ext a0,a0,0xa,0x1
beq a0,zero,0x0019c258
_nop
lw a0,0x20(t7)
bgez a0,0x0019c238
_lw a2,-0x77f0(gp)
lw t8,0xc(t7)
or a0,t6,s8
lw a1,0x8(t7)
subu t8,t5,t8
subu v0,v0,a1
sltu t5,t5,t8
bne a0,zero,0x0019c0d0
_subu v0,v0,t5
lw v1,0x78(sp)
li a3,0x6
lw t9,-0x7730(gp)
or a2,zero,zero
sw zero,0x3c(sp)
or a1,s2,zero
sw zero,0x38(sp)
or a0,s1,zero
sw zero,0x34(sp)
sw t4,0x8c(sp)
lbu t3,0x5(s6)
sw v1,0x2c(sp)
sw s3,0x28(sp)
andi t2,t3,0x3
sw t6,0x20(sp)
sw t2,0x30(sp)
sw s8,0x24(sp)
sw v0,0x18(sp)
sw t8,0x1c(sp)
jalr t9
_sw t7,0x10(sp)
lw gp,0x40(sp)
b 0x0019be80
_lw t4,0x8c(sp)
b 0x0019bcfc
_lw s2,0x88(sp)
b 0x0019be18
_ori s8,zero,0xf1ff
b 0x0019bf94
_sltu v0,zero,v0
lw t9,-0x7574(gp)
jalr t9
_sw t4,0x8c(sp)
xori v0,v0,0x1
lw gp,0x40(sp)
andi v0,v0,0xff
b 0x0019bf94
_lw t4,0x8c(sp)
lw t9,-0x57e4(gp)
or a2,v0,zero
sw t4,0x9c(sp)
or a3,t8,zero
sw v0,0x98(sp)
or a0,t7,zero
sw t6,0x10(sp)
sw t6,0x94(sp)
sw t8,0x90(sp)
sw t7,0x8c(sp)
jalr t9
_sw s8,0x14(sp)
lw gp,0x40(sp)
lw t4,0x9c(sp)
lw v0,0x98(sp)
lw t6,0x94(sp)
lw t8,0x90(sp)
b 0x0019c038
_lw t7,0x8c(sp)
lw v1,0x78(sp)
li a3,0x6
lw t9,-0x6a6c(gp)
or a2,zero,zero
sw zero,0x34(sp)
or a1,s2,zero
sw zero,0x30(sp)
or a0,s1,zero
sw zero,0x2c(sp)
sw t4,0x8c(sp)
lbu t3,0x5(s6)
sw v1,0x24(sp)
sw s3,0x20(sp)
andi t2,t3,0x3
sw t6,0x18(sp)
sw t2,0x28(sp)
sw s8,0x1c(sp)
sw v0,0x10(sp)
jalr t9
_sw t5,0x14(sp)
lw gp,0x40(sp)
b 0x0019be80
_lw t4,0x8c(sp)
addiu a0,a1,0x3
sltu v0,a0,a1
b 0x0019bc14
_addu v0,v0,a2
addiu a0,s4,0xbc
lw t9,-0x5bdc(gp)
jalr t9
_subu a1,v0,a1
addiu a3,sp,0x60
lw gp,0x40(sp)
addiu a2,sp,0x68
lw a0,0x90(s4)
addiu a1,sp,0x6c
sw zero,0x6c(sp)
sw zero,0x60(sp)
lw t9,-0x57d0(gp)
bal 0x001932c0
_sw zero,0x64(sp)
lw a3,0x90(s4)
lw gp,0x40(sp)
lw a2,0xc0(a3)
lw a1,0xc4(a3)
or v0,a2,zero
bltz a2,0x0019c1f0
_or a0,a1,zero
sll s2,v0,0x1e
lw v0,0x68(sp)
srl a0,a0,0x2
b 0x0019bc2c
_or s2,s2,a0
addiu a0,a1,0x3
sltu v0,a0,a1
addu v0,v0,a2
srl a0,a0,0x2
sll s2,v0,0x1e
lw v0,0x68(sp)
b 0x0019bc2c
_or s2,s2,a0
li a1,0x886
lw a2,-0x77f0(gp)
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x1bf0
bal 0x0017db90
_addiu a0,a0,0xee0
b 0x0019c214
_li a1,0x884
lw a2,-0x77f0(gp)
li a1,0xc5
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x25d8
bal 0x0017db90
_addiu a0,a0,0x3574
b 0x0019c214
_li a1,0x889
b 0x0019c214
_li a1,0x8ae
li a1,0x388
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x1d20
bal 0x0017db90
_addiu a0,a0,0xefc
(translation_unit "void FUN_0019bb14(int param_1,undefined4 param_2)\n\n{\n  uint *puVar1;\n  uint uVar2;\n  byte bVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint *puVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined4 local_80;\n  char local_7c;\n  undefined1 local_7b;\n  ushort local_7a;\n  uint local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  int local_68;\n  uint local_64;\n  uint local_60;\n  int local_5c;\n  undefined4 *local_58 [2];\n  int local_50;\n  uint local_4c;\n  undefined4 **local_48;\n  int local_44;\n  undefined *local_40;\n  int local_3c;\n  uint local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  local_58[0] = &local_80;\n  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;\n  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);\n  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n  if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }\n  local_44 = uVar6 - local_60;\n  local_48 = local_58;\n  uVar6 = 0;\n  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n  do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );\n}\n\n" (function_definition "void FUN_0019bb14(int param_1,undefined4 param_2)\n\n{\n  uint *puVar1;\n  uint uVar2;\n  byte bVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint *puVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined4 local_80;\n  char local_7c;\n  undefined1 local_7b;\n  ushort local_7a;\n  uint local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  int local_68;\n  uint local_64;\n  uint local_60;\n  int local_5c;\n  undefined4 *local_58 [2];\n  int local_50;\n  uint local_4c;\n  undefined4 **local_48;\n  int local_44;\n  undefined *local_40;\n  int local_3c;\n  uint local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  local_58[0] = &local_80;\n  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;\n  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);\n  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n  if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }\n  local_44 = uVar6 - local_60;\n  local_48 = local_58;\n  uVar6 = 0;\n  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n  do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_0019bb14(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  uint *puVar1;\n  uint uVar2;\n  byte bVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint *puVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined4 local_80;\n  char local_7c;\n  undefined1 local_7b;\n  ushort local_7a;\n  uint local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  int local_68;\n  uint local_64;\n  uint local_60;\n  int local_5c;\n  undefined4 *local_58 [2];\n  int local_50;\n  uint local_4c;\n  undefined4 **local_48;\n  int local_44;\n  undefined *local_40;\n  int local_3c;\n  uint local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  local_58[0] = &local_80;\n  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;\n  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);\n  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n  if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }\n  local_44 = uVar6 - local_60;\n  local_48 = local_58;\n  uVar6 = 0;\n  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n  do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "char local_7c;" primitive_type identifier ;) (declaration "undefined1 local_7b;" type_identifier identifier ;) (declaration "ushort local_7a;" type_identifier identifier ;) (declaration "uint local_78;" type_identifier identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "undefined4 *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "undefined4 **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "local_58[0] = &local_80;" (assignment_expression "local_58[0] = &local_80" (subscript_expression "local_58[0]" identifier [ number_literal ]) = (pointer_expression "&local_80" & identifier)) ;) (if_statement "if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }" if (parenthesized_expression "((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4))" ( (binary_expression "(1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)" (parenthesized_expression "(1 < *(byte *)(param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)(param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) - number_literal)) )) && (parenthesized_expression "(*(byte *)(param_1 + 0x9f) != 4)" ( (binary_expression "*(byte *)(param_1 + 0x9f) != 4" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }" { comment (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1d20" identifier + number_literal) ))) ;)) })) (expression_statement "uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;" (assignment_expression "uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2" identifier = (binary_expression "*(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2" (binary_expression "*(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc)" (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0xbc)" * (cast_expression "(int *)(param_1 + 0xbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbc)" ( (binary_expression "param_1 + 0xbc" identifier + number_literal) ))))) >> number_literal)) ;) (expression_statement "uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);" (assignment_expression "uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" identifier = (pointer_expression "*(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" * (cast_expression "(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" ( (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4" (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4)" (pointer_expression "**(int **)(param_1 + 0x98)" * (pointer_expression "*(int **)(param_1 + 0x98)" * (cast_expression "(int **)(param_1 + 0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }" if (parenthesized_expression "(uVar6 < local_4c)" ( (binary_expression "uVar6 < local_4c" identifier < identifier) )) (compound_statement "{\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }" { (expression_statement "(*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);" (call_expression "(*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6)" (parenthesized_expression "(*(code *)PTR__M_default_append_004c3664)" ( (pointer_expression "*(code *)PTR__M_default_append_004c3664" * (cast_expression "(code *)PTR__M_default_append_004c3664" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0xbc,local_4c - uVar6)" ( (binary_expression "param_1 + 0xbc" identifier + number_literal) , (binary_expression "local_4c - uVar6" identifier - identifier) ))) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (labeled_statement "gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" (comma_expression "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" false > (ERROR "::" : :) (call_expression "get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" identifier (argument_list "(*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" ( (pointer_expression "*(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" * (call_expression "(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (parenthesized_expression "(Sized_incremental_binary<64,false> **)" ( (comma_expression "Sized_incremental_binary<64,false> **" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) , (cast_expression "(View *)&local_5c" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_5c" & identifier)) , (pointer_expression "&local_60" & identifier) , (cast_expression "(Elf_strtab *)&local_68" ( (type_descriptor "Elf_strtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_68" & identifier)) ))))) ;)) (expression_statement "iVar7 = *(int *)(param_1 + 0x90);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x90)" identifier = (pointer_expression "*(int *)(param_1 + 0x90)" * (cast_expression "(int *)(param_1 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar7 + 0xc0);" (assignment_expression "iVar4 = *(int *)(iVar7 + 0xc0)" identifier = (pointer_expression "*(int *)(iVar7 + 0xc0)" * (cast_expression "(int *)(iVar7 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc0)" ( (binary_expression "iVar7 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(iVar7 + 0xc4);" (assignment_expression "uVar6 = *(uint *)(iVar7 + 0xc4)" identifier = (pointer_expression "*(uint *)(iVar7 + 0xc4)" * (cast_expression "(uint *)(iVar7 + 0xc4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc4)" ( (binary_expression "iVar7 + 0xc4" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }" { (expression_statement "uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;" (assignment_expression "uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2" identifier = (binary_expression "((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2" (binary_expression "((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000" (parenthesized_expression "((uint)(uVar6 + 3 < uVar6) + iVar4)" ( (binary_expression "(uint)(uVar6 + 3 < uVar6) + iVar4" (call_expression "(uint)(uVar6 + 3 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 + 3 < uVar6)" ( (binary_expression "uVar6 + 3 < uVar6" (binary_expression "uVar6 + 3" identifier + number_literal) < identifier) ))) + identifier) )) * number_literal) | (binary_expression "uVar6 + 3 >> 2" (binary_expression "uVar6 + 3" identifier + number_literal) >> number_literal))) ;) }) (else_clause "else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }" else (compound_statement "{\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }" { (expression_statement "uVar6 = iVar4 << 0x1e | uVar6 >> 2;" (assignment_expression "uVar6 = iVar4 << 0x1e | uVar6 >> 2" identifier = (binary_expression "iVar4 << 0x1e | uVar6 >> 2" (binary_expression "iVar4 << 0x1e" identifier << number_literal) | (binary_expression "uVar6 >> 2" identifier >> number_literal))) ;) }))) }) (else_clause "else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }" else (compound_statement "{\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }" { (if_statement "if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }" if (parenthesized_expression "((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4))" ( (binary_expression "(local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)" (parenthesized_expression "(local_4c < uVar6)" ( (binary_expression "local_4c < uVar6" identifier < identifier) )) && (parenthesized_expression "(iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)" ( (comma_expression "iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4" (assignment_expression "iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4" identifier = (binary_expression "*(int *)(param_1 + 0xbc) + local_4c * 4" (pointer_expression "*(int *)(param_1 + 0xbc)" * (cast_expression "(int *)(param_1 + 0xbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbc)" ( (binary_expression "param_1 + 0xbc" identifier + number_literal) )))) + (binary_expression "local_4c * 4" identifier * number_literal))) , (binary_expression "*(int *)(param_1 + 0xc0) != iVar4" (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) != identifier)) ))) )) (compound_statement "{\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }" { (expression_statement "*(int *)(param_1 + 0xc0) = iVar4;" (assignment_expression "*(int *)(param_1 + 0xc0) = iVar4" (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (labeled_statement "gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" (comma_expression "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" false > (ERROR "::" : :) (call_expression "get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" identifier (argument_list "(*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" ( (pointer_expression "*(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" * (call_expression "(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (parenthesized_expression "(Sized_incremental_binary<64,false> **)" ( (comma_expression "Sized_incremental_binary<64,false> **" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) , (cast_expression "(View *)&local_5c" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_5c" & identifier)) , (pointer_expression "&local_60" & identifier) , (cast_expression "(Elf_strtab *)&local_68" ( (type_descriptor "Elf_strtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_68" & identifier)) ))))) ;)) (expression_statement "iVar7 = *(int *)(param_1 + 0x90);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x90)" identifier = (pointer_expression "*(int *)(param_1 + 0x90)" * (cast_expression "(int *)(param_1 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar7 + 0xc0);" (assignment_expression "iVar4 = *(int *)(iVar7 + 0xc0)" identifier = (pointer_expression "*(int *)(iVar7 + 0xc0)" * (cast_expression "(int *)(iVar7 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc0)" ( (binary_expression "iVar7 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(iVar7 + 0xc4);" (assignment_expression "uVar15 = *(uint *)(iVar7 + 0xc4)" identifier = (pointer_expression "*(uint *)(iVar7 + 0xc4)" * (cast_expression "(uint *)(iVar7 + 0xc4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc4)" ( (binary_expression "iVar7 + 0xc4" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = uVar15;" (assignment_expression "uVar6 = uVar15" identifier = identifier) ;) (if_statement "if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }" { (expression_statement "uVar6 = uVar15 + 3;" (assignment_expression "uVar6 = uVar15 + 3" identifier = (binary_expression "uVar15 + 3" identifier + number_literal)) ;) (expression_statement "iVar4 = (uint)(uVar6 < uVar15) + iVar4;" (assignment_expression "iVar4 = (uint)(uVar6 < uVar15) + iVar4" identifier = (binary_expression "(uint)(uVar6 < uVar15) + iVar4" (call_expression "(uint)(uVar6 < uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 < uVar15)" ( (binary_expression "uVar6 < uVar15" identifier < identifier) ))) + identifier)) ;) })) (expression_statement "uVar6 = iVar4 << 0x1e | uVar6 >> 2;" (assignment_expression "uVar6 = iVar4 << 0x1e | uVar6 >> 2" identifier = (binary_expression "iVar4 << 0x1e | uVar6 >> 2" (binary_expression "iVar4 << 0x1e" identifier << number_literal) | (binary_expression "uVar6 >> 2" identifier >> number_literal))) ;) (if_statement "if (local_4c == 0) {\n      return;\n    }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }))) (expression_statement "local_44 = uVar6 - local_60;" (assignment_expression "local_44 = uVar6 - local_60" identifier = (binary_expression "uVar6 - local_60" identifier - identifier)) ;) (expression_statement "local_48 = local_58;" (assignment_expression "local_48 = local_58" identifier = identifier) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (expression_statement "local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;" (assignment_expression "local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier + number_literal)) ;) (do_statement "do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );" do (compound_statement "{\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  }" { (if_statement "if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }" if (parenthesized_expression "(1 < *(byte *)(param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)(param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) - number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }" { comment (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1bd4" identifier + number_literal) ))) ;)) })) (expression_statement "iVar17 = uVar6 * 4;" (assignment_expression "iVar17 = uVar6 * 4" identifier = (binary_expression "uVar6 * 4" identifier * number_literal)) ;) (expression_statement "iVar4 = **(int **)(param_1 + 0x98);" (assignment_expression "iVar4 = **(int **)(param_1 + 0x98)" identifier = (pointer_expression "**(int **)(param_1 + 0x98)" * (pointer_expression "*(int **)(param_1 + 0x98)" * (cast_expression "(int **)(param_1 + 0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) )))))) ;) (expression_statement "iVar8 = *(int *)(param_1 + 0xa4) + 0x20;" (assignment_expression "iVar8 = *(int *)(param_1 + 0xa4) + 0x20" identifier = (binary_expression "*(int *)(param_1 + 0xa4) + 0x20" (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));" (assignment_expression "uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4))" identifier = (pointer_expression "*(uint *)(iVar4 + *(int *)(param_1 + 0xa4))" * (cast_expression "(uint *)(iVar4 + *(int *)(param_1 + 0xa4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(param_1 + 0xa4))" ( (binary_expression "iVar4 + *(int *)(param_1 + 0xa4)" identifier + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) ))))) ;) (expression_statement "puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);" (assignment_expression "puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18)" identifier = (cast_expression "(uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18)" ( (binary_expression "iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18" (binary_expression "iVar4 + uVar6 * 0x14 + iVar8" (binary_expression "iVar4 + uVar6 * 0x14" identifier + (binary_expression "uVar6 * 0x14" identifier * number_literal)) + identifier) + (binary_expression "((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18" (parenthesized_expression "((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )) * number_literal)) )))) ;) (expression_statement "uVar15 = *puVar1;" (assignment_expression "uVar15 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar16 = (uint *)(local_5c + iVar13 * 0x18);" (assignment_expression "puVar16 = (uint *)(local_5c + iVar13 * 0x18)" identifier = (cast_expression "(uint *)(local_5c + iVar13 * 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_5c + iVar13 * 0x18)" ( (binary_expression "local_5c + iVar13 * 0x18" identifier + (binary_expression "iVar13 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "uVar15 = *puVar16;" (assignment_expression "uVar15 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar14 = local_40;" (assignment_expression "puVar14 = local_40" identifier = identifier) ;) (if_statement "if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }" if (parenthesized_expression "(uVar15 < local_64)" ( (binary_expression "uVar15 < local_64" identifier < identifier) )) (compound_statement "{\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }" { (expression_statement "puVar14 = (undefined *)(local_68 + uVar15);" (assignment_expression "puVar14 = (undefined *)(local_68 + uVar15)" identifier = (cast_expression "(undefined *)(local_68 + uVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_68 + uVar15)" ( (binary_expression "local_68 + uVar15" identifier + identifier) )))) ;) })) (expression_statement "local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;" (assignment_expression "local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4" identifier = (binary_expression "(int)(uint)*(byte *)(puVar16 + 1) >> 4" (binary_expression "(int)(uint)*(byte *)(puVar16 + 1)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(puVar16 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 1)" ( (binary_expression "puVar16 + 1" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "uVar15 = *(byte *)(puVar16 + 1) & 0xf;" (assignment_expression "uVar15 = *(byte *)(puVar16 + 1) & 0xf" identifier = (binary_expression "*(byte *)(puVar16 + 1) & 0xf" (pointer_expression "*(byte *)(puVar16 + 1)" * (cast_expression "(byte *)(puVar16 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 1)" ( (binary_expression "puVar16 + 1" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }" { (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar18 = uVar19 - 1;" (assignment_expression "uVar18 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (if_statement "if (0xfffffffd < uVar18) goto LAB_0019bf08;" if (parenthesized_expression "(0xfffffffd < uVar18)" ( (binary_expression "0xfffffffd < uVar18" number_literal < identifier) )) (goto_statement "goto LAB_0019bf08;" goto statement_identifier ;)) (labeled_statement "LAB_0019bd28:\n      uVar2 = puVar16[2];" statement_identifier : (expression_statement "uVar2 = puVar16[2];" (assignment_expression "uVar2 = puVar16[2]" identifier = (subscript_expression "puVar16[2]" identifier [ number_literal ])) ;)) (expression_statement "uVar5 = puVar16[3];" (assignment_expression "uVar5 = puVar16[3]" identifier = (subscript_expression "puVar16[3]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);" (assignment_expression "uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" identifier = (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar16 + 6) & 0xff)" ( (binary_expression "*(ushort *)((int)puVar16 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar16 + 6)" * (cast_expression "(ushort *)((int)puVar16 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 6)" ( (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)puVar16 + 6) >> 8)" ( (binary_expression "*(ushort *)((int)puVar16 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar16 + 6)" * (cast_expression "(ushort *)((int)puVar16 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 6)" ( (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))))) ;) (expression_statement "iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar9 = (((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 "uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" if (parenthesized_expression "(uVar10 == 0xfff1)" ( (binary_expression "uVar10 == 0xfff1" identifier == number_literal) )) (compound_statement "{\n        local_7a = 0xf1ff;\n      }" { (expression_statement "local_7a = 0xf1ff;" (assignment_expression "local_7a = 0xf1ff" identifier = number_literal) ;) }) (else_clause "else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" else (compound_statement "{\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" { (if_statement "if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar4 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }" { (expression_statement "iVar4 = 0x884;" (assignment_expression "iVar4 = 0x884" identifier = number_literal) ;) (labeled_statement "LAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0)" ( (binary_expression "PTR_s__s_004c1a50 + 0xee0" identifier + number_literal) , identifier , (binary_expression "PTR_s__s_004c1a50 + 0x1bf0" identifier + number_literal) ))) ;))) })) (expression_statement "iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);" (assignment_expression "iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" * (cast_expression "(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" ( (binary_expression "*(int *)(iVar7 + 0x5c) + uVar10 * 4" (pointer_expression "*(int *)(iVar7 + 0x5c)" * (cast_expression "(int *)(iVar7 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5c)" ( (binary_expression "iVar7 + 0x5c" identifier + number_literal) )))) + (binary_expression "uVar10 * 4" identifier * number_literal)) ))))) ;) (if_statement "if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }" if (parenthesized_expression "((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15))" ( (binary_expression "(iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x98) << 0x15)" ( (binary_expression "-1 < *(int *)(iVar7 + 0x98) << 0x15" number_literal < (binary_expression "*(int *)(iVar7 + 0x98) << 0x15" (pointer_expression "*(int *)(iVar7 + 0x98)" * (cast_expression "(int *)(iVar7 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x98)" ( (binary_expression "iVar7 + 0x98" identifier + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }" { (expression_statement "iVar4 = 0x886;" (assignment_expression "iVar4 = 0x886" identifier = number_literal) ;) (goto_statement "goto LAB_0019c214;" goto statement_identifier ;) })) (expression_statement "iVar4 = iVar4 + uVar18 * 0x18 + iVar8;" (assignment_expression "iVar4 = iVar4 + uVar18 * 0x18 + iVar8" identifier = (binary_expression "iVar4 + uVar18 * 0x18 + iVar8" (binary_expression "iVar4 + uVar18 * 0x18" identifier + (binary_expression "uVar18 * 0x18" identifier * number_literal)) + identifier)) ;) (expression_statement "uVar5 = *(uint *)(iVar4 + 4);" (assignment_expression "uVar5 = *(uint *)(iVar4 + 4)" identifier = (pointer_expression "*(uint *)(iVar4 + 4)" * (cast_expression "(uint *)(iVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(uint *)(iVar4 + 8);" (assignment_expression "uVar18 = *(uint *)(iVar4 + 8)" identifier = (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar2 = *(uint *)(iVar4 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }" if (parenthesized_expression "(uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000)" ( (binary_expression "uVar10 != (((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))) )) (compound_statement "{\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }" { (expression_statement "iVar4 = 0x889;" (assignment_expression "iVar4 = 0x889" identifier = number_literal) ;) (goto_statement "goto LAB_0019c214;" goto statement_identifier ;) })) (expression_statement "uVar5 = uVar11;" (assignment_expression "uVar5 = uVar11" identifier = identifier) ;) (if_statement "if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }" if (parenthesized_expression "(uVar15 != 6)" ( (binary_expression "uVar15 != 6" identifier != number_literal) )) (compound_statement "{\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }" { (if_statement "if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }" if (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x20))" ( (binary_expression "-1 < *(int *)(iVar7 + 0x20)" number_literal < (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }" { (labeled_statement "LAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);" (call_expression "do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x25d8" identifier + number_literal) ))) ;))) })) (expression_statement "uVar5 = uVar11 - *(int *)(iVar7 + 0xc);" (assignment_expression "uVar5 = uVar11 - *(int *)(iVar7 + 0xc)" identifier = (binary_expression "uVar11 - *(int *)(iVar7 + 0xc)" identifier - (pointer_expression "*(int *)(iVar7 + 0xc)" * (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);" (assignment_expression "iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5)" identifier = (binary_expression "(iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5)" (parenthesized_expression "(iVar9 - *(int *)(iVar7 + 8))" ( (binary_expression "iVar9 - *(int *)(iVar7 + 8)" identifier - (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) )) - (call_expression "(uint)(uVar11 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar5)" ( (binary_expression "uVar11 < uVar5" identifier < identifier) ))))) ;) })) (expression_statement "uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);" (assignment_expression "uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000)" identifier = (binary_expression "uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000)" identifier - (parenthesized_expression "((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (expression_statement "uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);" (assignment_expression "uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18)" identifier = (binary_expression "(iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18)" (parenthesized_expression "(iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000))" ( (binary_expression "iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)" identifier - (parenthesized_expression "((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) ))) )) - (call_expression "(uint)(uVar5 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 < uVar18)" ( (binary_expression "uVar5 < uVar18" identifier < identifier) ))))) ;) (expression_statement "local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;" (assignment_expression "local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff" identifier = (binary_expression "(ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff" (call_expression "(ushort)((uVar19 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar19 & 0xff) << 8)" ( (binary_expression "(uVar19 & 0xff) << 8" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar19 >> 8) & 0xff" (call_expression "(ushort)(uVar19 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar19 >> 8)" ( (binary_expression "uVar19 >> 8" identifier >> number_literal) ))) & number_literal))) ;) (expression_statement "uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar5 = (((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 "local_6c = puVar16[5];" (assignment_expression "local_6c = puVar16[5]" identifier = (subscript_expression "puVar16[5]" identifier [ number_literal ])) ;) (expression_statement "local_7c = (char)uVar15 + (char)local_50 * '\x10';" (assignment_expression "local_7c = (char)uVar15 + (char)local_50 * '\x10'" identifier = (binary_expression "(char)uVar15 + (char)local_50 * '\x10'" (cast_expression "(char)uVar15" ( (type_descriptor "char" primitive_type) ) identifier) + (binary_expression "(char)local_50 * '\x10'" (cast_expression "(char)local_50" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\x10'" ' escape_sequence ')))) ;) (expression_statement "local_70 = puVar16[4];" (assignment_expression "local_70 = puVar16[4]" identifier = (subscript_expression "puVar16[4]" identifier [ number_literal ])) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7b = *(undefined1 *)((int)puVar16 + 5);" (assignment_expression "local_7b = *(undefined1 *)((int)puVar16 + 5)" identifier = (pointer_expression "*(undefined1 *)((int)puVar16 + 5)" * (cast_expression "(undefined1 *)((int)puVar16 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 5)" ( (binary_expression "(int)puVar16 + 5" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_78 = uVar2;" (assignment_expression "local_78 = uVar2" identifier = identifier) ;) (expression_statement "local_74 = uVar5;" (assignment_expression "local_74 = uVar5" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;" (assignment_expression "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" identifier = (call_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" (parenthesized_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)" ( (comma_expression "*(code *)PTR_add_from_incrobj<64,false>_004c3ae4" (binary_expression "*(code *)PTR_add_from_incrobj<64" (pointer_expression "*(code *)PTR_add_from_incrobj" * (cast_expression "(code *)PTR_add_from_incrobj" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) , (binary_expression "false>_004c3ae4" false > identifier)) )) (argument_list "(param_2,param_1,puVar14,0,local_48)" ( identifier , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "*(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;" (assignment_expression "*(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1" (pointer_expression "*(int *)(param_1 + 200)" * (cast_expression "(int *)(param_1 + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 200)" ( (binary_expression "param_1 + 200" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 200) + 1" (pointer_expression "*(int *)(param_1 + 200)" * (cast_expression "(int *)(param_1 + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 200)" ( (binary_expression "param_1 + 200" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }" { (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar18 = uVar19 - 1;" (assignment_expression "uVar18 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (if_statement "if (uVar18 < 0xfffffffe) goto LAB_0019bd28;" if (parenthesized_expression "(uVar18 < 0xfffffffe)" ( (binary_expression "uVar18 < 0xfffffffe" identifier < number_literal) )) (goto_statement "goto LAB_0019bd28;" goto statement_identifier ;)) (labeled_statement "LAB_0019bf08:\n      local_6c = puVar16[5];" statement_identifier : (expression_statement "local_6c = puVar16[5];" (assignment_expression "local_6c = puVar16[5]" identifier = (subscript_expression "puVar16[5]" identifier [ number_literal ])) ;)) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_70 = puVar16[4];" (assignment_expression "local_70 = puVar16[4]" identifier = (subscript_expression "puVar16[4]" identifier [ number_literal ])) ;) (expression_statement "local_7c = (char)uVar15 + (char)local_50 * '\x10';" (assignment_expression "local_7c = (char)uVar15 + (char)local_50 * '\x10'" identifier = (binary_expression "(char)uVar15 + (char)local_50 * '\x10'" (cast_expression "(char)uVar15" ( (type_descriptor "char" primitive_type) ) identifier) + (binary_expression "(char)local_50 * '\x10'" (cast_expression "(char)local_50" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\x10'" ' escape_sequence ')))) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7b = *(undefined1 *)((int)puVar16 + 5);" (assignment_expression "local_7b = *(undefined1 *)((int)puVar16 + 5)" identifier = (pointer_expression "*(undefined1 *)((int)puVar16 + 5)" * (cast_expression "(undefined1 *)((int)puVar16 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 5)" ( (binary_expression "(int)puVar16 + 5" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_7a = 0;" (assignment_expression "local_7a = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;" (assignment_expression "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" identifier = (call_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" (parenthesized_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)" ( (comma_expression "*(code *)PTR_add_from_incrobj<64,false>_004c3ae4" (binary_expression "*(code *)PTR_add_from_incrobj<64" (pointer_expression "*(code *)PTR_add_from_incrobj" * (cast_expression "(code *)PTR_add_from_incrobj" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) , (binary_expression "false>_004c3ae4" false > identifier)) )) (argument_list "(param_2,param_1,puVar14,0,local_48)" ( identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }" if (parenthesized_expression "(uVar19 == 0xffffffff)" ( (binary_expression "uVar19 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }" { (expression_statement "uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;" (assignment_expression "uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(iVar4 + 0x28) & 0xe000" (pointer_expression "*(uint *)(iVar4 + 0x28)" * (cast_expression "(uint *)(iVar4 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }" { (if_statement "if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }" if (parenthesized_expression "((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0)" ( (binary_expression "(int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0" (cast_expression "(int)(*(uint *)(iVar4 + 0x28) << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)(iVar4 + 0x28) << 0x1d)" ( (binary_expression "*(uint *)(iVar4 + 0x28) << 0x1d" (pointer_expression "*(uint *)(iVar4 + 0x28)" * (cast_expression "(uint *)(iVar4 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) << number_literal) ))) < number_literal) )) (compound_statement "{\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }" { (expression_statement "bVar3 = *(int *)(iVar4 + 0xc) != 0;" (assignment_expression "bVar3 = *(int *)(iVar4 + 0xc) != 0" identifier = (binary_expression "*(int *)(iVar4 + 0xc) != 0" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) != number_literal)) ;) }) (else_clause "else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }" else (compound_statement "{\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }" { (expression_statement "local_3c = iVar4;" (assignment_expression "local_3c = iVar4" identifier = identifier) ;) (expression_statement "bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();" (assignment_expression "bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)()" identifier = (call_expression "(*(code *)PTR_is_common_shndx_004c1ccc)()" (parenthesized_expression "(*(code *)PTR_is_common_shndx_004c1ccc)" ( (pointer_expression "*(code *)PTR_is_common_shndx_004c1ccc" * (cast_expression "(code *)PTR_is_common_shndx_004c1ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "bVar3 = bVar3 ^ 1;" (assignment_expression "bVar3 = bVar3 ^ 1" identifier = (binary_expression "bVar3 ^ 1" identifier ^ number_literal)) ;) (expression_statement "iVar4 = local_3c;" (assignment_expression "iVar4 = local_3c" identifier = identifier) ;) }))) }) (else_clause "else {\n          bVar3 = uVar18 != 0x8000;\n        }" else (compound_statement "{\n          bVar3 = uVar18 != 0x8000;\n        }" { (expression_statement "bVar3 = uVar18 != 0x8000;" (assignment_expression "bVar3 = uVar18 != 0x8000" identifier = (binary_expression "uVar18 != 0x8000" identifier != number_literal)) ;) }))) (if_statement "if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }" { (expression_statement "uVar2 = puVar16[2];" (assignment_expression "uVar2 = puVar16[2]" identifier = (subscript_expression "puVar16[2]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = puVar16[3];" (assignment_expression "uVar18 = puVar16[3]" identifier = (subscript_expression "puVar16[3]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = puVar16[4];" (assignment_expression "uVar10 = puVar16[4]" identifier = (subscript_expression "puVar16[4]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);" (assignment_expression "uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" identifier = (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar16 + 6) & 0xff)" ( (binary_expression "*(ushort *)((int)puVar16 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar16 + 6)" * (cast_expression "(ushort *)((int)puVar16 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 6)" ( (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)puVar16 + 6) >> 8)" ( (binary_expression "*(ushort *)((int)puVar16 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar16 + 6)" * (cast_expression "(ushort *)((int)puVar16 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 6)" ( (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))))) ;) (expression_statement "uVar5 = puVar16[5];" (assignment_expression "uVar5 = puVar16[5]" identifier = (subscript_expression "puVar16[5]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10)" ( (binary_expression "(uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10" (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar10 >> 0x18) << 0x10" (parenthesized_expression "(uVar10 >> 0x18)" ( (binary_expression "uVar10 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff)" ( (binary_expression "(uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff" (binary_expression "(uVar10 & 0xff) << 8" (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar10 >> 8 & 0xff" (binary_expression "uVar10 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar8 = (((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))) ;) (if_statement "if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }" if (parenthesized_expression "(uVar19 == 0xfff1)" ( (binary_expression "uVar19 == 0xfff1" identifier == number_literal) )) (compound_statement "{\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }" { (expression_statement "local_3c = iVar4;" (assignment_expression "local_3c = iVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);" (call_expression "(*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0)" (parenthesized_expression "(*(code *)PTR_define_as_constant_004c27d4)" ( (pointer_expression "*(code *)PTR_define_as_constant_004c27d4" * (cast_expression "(code *)PTR_define_as_constant_004c27d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0)" ( identifier , identifier , number_literal , number_literal , identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "*(byte *)((int)puVar16 + 5) & 3" (pointer_expression "*(byte *)((int)puVar16 + 5)" * (cast_expression "(byte *)((int)puVar16 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 5)" ( (binary_expression "(int)puVar16 + 5" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar4 = local_3c;" (assignment_expression "iVar4 = local_3c" identifier = identifier) ;) }) (else_clause "else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }" else (compound_statement "{\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }" { (expression_statement "iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);" (assignment_expression "iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" * (cast_expression "(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x90) + 0x5c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x90) + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x90) + 0x5c)" ( (binary_expression "*(int *)(param_1 + 0x90) + 0x5c" (pointer_expression "*(int *)(param_1 + 0x90)" * (cast_expression "(int *)(param_1 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (if_statement "if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }" if (parenthesized_expression "((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15))" ( (binary_expression "(iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)" (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(-1 < *(int *)(iVar12 + 0x98) << 0x15)" ( (binary_expression "-1 < *(int *)(iVar12 + 0x98) << 0x15" number_literal < (binary_expression "*(int *)(iVar12 + 0x98) << 0x15" (pointer_expression "*(int *)(iVar12 + 0x98)" * (cast_expression "(int *)(iVar12 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x98)" ( (binary_expression "iVar12 + 0x98" identifier + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }" { (expression_statement "iVar4 = 0x8ae;" (assignment_expression "iVar4 = 0x8ae" identifier = number_literal) ;) (goto_statement "goto LAB_0019c214;" goto statement_identifier ;) })) (if_statement "if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;" if (parenthesized_expression "(-1 < *(int *)(iVar12 + 0x20))" ( (binary_expression "-1 < *(int *)(iVar12 + 0x20)" number_literal < (pointer_expression "*(int *)(iVar12 + 0x20)" * (cast_expression "(int *)(iVar12 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0019c238;" goto statement_identifier ;)) (expression_statement "uVar15 = uVar2 - *(int *)(iVar12 + 0xc);" (assignment_expression "uVar15 = uVar2 - *(int *)(iVar12 + 0xc)" identifier = (binary_expression "uVar2 - *(int *)(iVar12 + 0xc)" identifier - (pointer_expression "*(int *)(iVar12 + 0xc)" * (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);" (assignment_expression "iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15)" identifier = (binary_expression "(iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15)" (parenthesized_expression "(iVar7 - *(int *)(iVar12 + 8))" ( (binary_expression "iVar7 - *(int *)(iVar12 + 8)" identifier - (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) )) - (call_expression "(uint)(uVar2 < uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar2 < uVar15)" ( (binary_expression "uVar2 < uVar15" identifier < identifier) ))))) ;) (expression_statement "local_3c = iVar12;" (assignment_expression "local_3c = iVar12" identifier = identifier) ;) (if_statement "if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }" if (parenthesized_expression "(iVar8 != 0 || iVar9 != 0)" ( (binary_expression "iVar8 != 0 || iVar9 != 0" (binary_expression "iVar8 != 0" identifier != number_literal) || (binary_expression "iVar9 != 0" identifier != number_literal)) )) (compound_statement "{\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }" { (expression_statement "local_38 = uVar15;" (assignment_expression "local_38 = uVar15" identifier = identifier) ;) (expression_statement "local_34 = iVar8;" (assignment_expression "local_34 = iVar8" identifier = identifier) ;) (expression_statement "local_30 = iVar7;" (assignment_expression "local_30 = iVar7" identifier = identifier) ;) (expression_statement "local_2c = iVar4;" (assignment_expression "local_2c = iVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);" (call_expression "(*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9)" (parenthesized_expression "(*(code *)PTR_reserve_004c3a5c)" ( (pointer_expression "*(code *)PTR_reserve_004c3a5c" * (cast_expression "(code *)PTR_reserve_004c3a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9)" ( identifier , (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = local_2c;" (assignment_expression "iVar4 = local_2c" identifier = identifier) ;) })) (expression_statement "iVar7 = local_3c;" (assignment_expression "iVar7 = local_3c" identifier = identifier) ;) (expression_statement "local_3c = iVar4;" (assignment_expression "local_3c = iVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" ( (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" * (cast_expression "(code *)PTR_define_in_output_data_004c1b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar14,0,6,iVar7)" ( identifier , identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "iVar4 = local_3c;" (assignment_expression "iVar4 = local_3c" identifier = identifier) ;) }))) })) })) }))) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0x90);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x90)" identifier = (pointer_expression "*(int *)(param_1 + 0x90)" * (cast_expression "(int *)(param_1 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar7 + 0x68);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x68)" identifier = (pointer_expression "*(int *)(iVar7 + 0x68)" * (cast_expression "(int *)(iVar7 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x68)" ( (binary_expression "iVar7 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;" (assignment_expression "*(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4" (pointer_expression "*(int *)(*(int *)(param_1 + 0xbc) + iVar17)" * (cast_expression "(int *)(*(int *)(param_1 + 0xbc) + iVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0xbc) + iVar17)" ( (binary_expression "*(int *)(param_1 + 0xbc) + iVar17" (pointer_expression "*(int *)(param_1 + 0xbc)" * (cast_expression "(int *)(param_1 + 0xbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbc)" ( (binary_expression "param_1 + 0xbc" identifier + number_literal) )))) + identifier) )))) = identifier) ;) (expression_statement "*(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;" (assignment_expression "*(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4" (pointer_expression "*(int *)(iVar8 + (local_44 + iVar13) * 4)" * (cast_expression "(int *)(iVar8 + (local_44 + iVar13) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + (local_44 + iVar13) * 4)" ( (binary_expression "iVar8 + (local_44 + iVar13) * 4" identifier + (binary_expression "(local_44 + iVar13) * 4" (parenthesized_expression "(local_44 + iVar13)" ( (binary_expression "local_44 + iVar13" identifier + identifier) )) * number_literal)) )))) = identifier) ;) (if_statement "if (uVar6 == local_4c) {\n      return;\n    }" if (parenthesized_expression "(uVar6 == local_4c)" ( (binary_expression "uVar6 == local_4c" identifier == identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: void do_add_symbols(Sized_relobj_incr<64,_false> * this, Symbol_table *\n   symtab, Read_symbols_data * param_2, Layout * param_3) */\n\nvoid __thiscall\ngold::Sized_relobj_incr<64,_false>::do_add_symbols\n          (Sized_relobj_incr<64,_false> *this,Symbol_table *symtab,Read_symbols_data *param_2,\n          Layout *param_3)\n\n{\n  char *pcVar1;\n  uint *puVar2;\n  uint uVar3;\n  Symbol *pSVar4;\n  byte bVar5;\n  uint uVar6;\n  pointer ppSVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uchar *puVar11;\n  int iVar12;\n  pointer ppSVar13;\n  char cVar14;\n  Sized_incremental_binary<64,_false> *pSVar15;\n  Output_section *pOVar16;\n  int iVar17;\n  int iVar18;\n  uint uVar19;\n  uint uVar20;\n  int iVar21;\n  char *pcVar22;\n  uint uVar23;\n  uint *puVar24;\n  uint uVar25;\n  uint uVar26;\n  int iVar27;\n  uchar symbuf [24];\n  Elf_strtab strtab;\n  uint symtab_count;\n  View symtab_view;\n  Sym<64,_false> sym;\n  int local_50;\n  \n  sym.p_ = (Sym_data<64> *)symbuf;\n  uVar6 = (uint)(byte)(this->input_reader_).flags_;\n  if ((1 < uVar6 - 1) && (uVar6 != 4)) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  ppSVar7 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_start;\n  ppSVar13 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n             _M_impl._M_finish;\n  uVar10 = (int)ppSVar13 - (int)ppSVar7 >> 2;\n  uVar6 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4);\n  uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n  if (uVar10 < uVar6) {\n    (*(code *)PTR__M_default_append_004c3664)(&this->symbols_,uVar6 - uVar10);\n    symtab_view.p_ = (uchar *)0x0;\n    strtab.base_ = (char *)0x0;\n    strtab.usable_size_ = 0;\n    Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab);\n    pSVar15 = this->ibase_;\n    uVar10 = (uint)(pSVar15->symtab_reader_).len_;\n    if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {\n      uVar10 = uVar10 + 3 >> 2;\n    }\n    else {\n      uVar10 = uVar10 >> 2;\n    }\n  }\n  else {\n    if ((uVar6 < uVar10) && (ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7)) {\n      (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n      _M_finish = ppSVar7;\n    }\n    symtab_view.p_ = (uchar *)0x0;\n    strtab.base_ = (char *)0x0;\n    strtab.usable_size_ = 0;\n    Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab);\n    pSVar15 = this->ibase_;\n    uVar10 = (uint)(pSVar15->symtab_reader_).len_;\n    if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {\n      uVar10 = uVar10 + 3;\n    }\n    uVar10 = uVar10 >> 2;\n    if (uVar6 == 0) {\n      return;\n    }\n  }\n  pcVar1 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n  uVar23 = 0;\n  do {\n    if (1 < (byte)(this->input_reader_).flags_ - 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    uVar8 = (this->input_reader_).info_offset_;\n    puVar11 = ((this->input_reader_).inputs_)->p_;\n    iVar17 = uVar8 + 0x20;\n    uVar8 = *(uint *)(puVar11 + uVar8);\n    puVar2 = (uint *)(puVar11 +\n                     uVar23 * 0x14 + iVar17 +\n                     ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar8 = *puVar2;\n    iVar21 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    puVar24 = (uint *)(symtab_view.p_ + iVar21 * 0x18);\n    uVar8 = *puVar24;\n    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    pcVar22 = pcVar1;\n    if (uVar8 < strtab.usable_size_) {\n      pcVar22 = strtab.base_ + uVar8;\n    }\n    local_50 = (int)(uint)*(byte *)(puVar24 + 1) >> 4;\n    cVar14 = (char)local_50;\n    uVar8 = *(byte *)(puVar24 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar25 = puVar2[1];\n      cVar14 = '\x01';\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar25) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar3 = puVar24[2];\n      uVar9 = puVar24[3];\n      uVar19 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n      iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      uVar20 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (uVar19 == 0xfff1) {\n        symbuf._6_2_ = 0xf1ff;\n      }\n      else {\n        if (uVar19 == 0) {\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19];\n        if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar17 = uVar25 * 0x18 + iVar17;\n        uVar9 = *(uint *)(puVar11 + iVar17 + 4);\n        uVar25 = *(uint *)(puVar11 + iVar17 + 8);\n        uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);\n        if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar9 = uVar20;\n        if (uVar8 != 6) {\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }\n        uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n        uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25);\n        symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;\n        uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      }\n      symbuf._20_4_ = puVar24[5];\n      symbuf[4] = (char)uVar8 + cVar14 * '\x10';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf._8_4_ = uVar3;\n      symbuf._12_4_ = uVar9;\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      this->defined_count_ = this->defined_count_ + 1;\n    }\n    else {\n      uVar25 = puVar2[1];\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      if (uVar25 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      symbuf._20_4_ = puVar24[5];\n      symbuf[0xc] = '\0';\n      symbuf[0xd] = '\0';\n      symbuf[0xe] = '\0';\n      symbuf[0xf] = '\0';\n      symbuf[8] = '\0';\n      symbuf[9] = '\0';\n      symbuf[10] = '\0';\n      symbuf[0xb] = '\0';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[4] = (char)uVar8 + (char)local_50 * '\x10';\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf[6] = '\0';\n      symbuf[7] = '\0';\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      if (uVar26 == 0xffffffff) {\n        uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;\n        if (uVar25 == 0) {\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }\n        else {\n          bVar5 = uVar25 != 0x8000;\n        }\n        if (bVar5 == 0) {\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }\n      }\n    }\n    uVar8 = uVar23 + 1;\n    pSVar15 = this->ibase_;\n    ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n    (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n    _M_start[uVar23] = pSVar4;\n    ppSVar7[(uVar10 - symtab_count) + iVar21] = pSVar4;\n    uVar23 = uVar8;\n    if (uVar8 == uVar6) {\n      return;\n    }\n  } while( true );\n}\n\n" comment comment comment comment comment comment comment (declaration "void __thiscall\ngold::Sized_relobj_incr<64,_false>::do_add_symbols\n          (Sized_relobj_incr<64,_false> *this,Symbol_table *symtab,Read_symbols_data *param_2,\n          Layout *param_3)\n\n{\n  char *pcVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::do_add_symbols\n          (Sized_relobj_incr<64,_false> *this,Symbol_table *symtab,Read_symbols_data *param_2,\n          Layout *param_3)\n\n{\n  char" identifier > : : (function_declarator "do_add_symbols\n          (Sized_relobj_incr<64,_false> *this,Symbol_table *symtab,Read_symbols_data *param_2,\n          Layout *param_3)" identifier (parameter_list "(Sized_relobj_incr<64,_false> *this,Symbol_table *symtab,Read_symbols_data *param_2,\n          Layout *param_3)" ( (parameter_declaration "Sized_relobj_incr" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Read_symbols_data *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "Layout *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) { primitive_type) (pointer_declarator "*pcVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "Symbol *pSVar4;" type_identifier (pointer_declarator "*pSVar4" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "pointer ppSVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uchar *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "pointer ppSVar13;" type_identifier identifier ;) (declaration "char cVar14;" primitive_type identifier ;) (expression_statement "Sized_incremental_binary<64,_false> *pSVar15;" (update_expression "Sized_incremental_binary<64,_false> *pSVar15" (binary_expression "Sized_incremental_binary<64,_false> *pSVar15" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar15" * identifier)) --) ;) (declaration "Output_section *pOVar16;" type_identifier (pointer_declarator "*pOVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "uchar symbuf [24];" type_identifier (array_declarator "symbuf [24]" identifier [ number_literal ]) ;) (declaration "Elf_strtab strtab;" type_identifier identifier ;) (declaration "uint symtab_count;" type_identifier identifier ;) (declaration "View symtab_view;" type_identifier identifier ;) (ERROR "Sym<64,_false> sym" (binary_expression "Sym<64" identifier < number_literal) , (binary_expression "_false> sym" identifier > identifier)) (expression_statement ";" ;) (declaration "int local_50;" primitive_type identifier ;) (expression_statement "sym.p_ = (Sym_data<64> *)symbuf;" (assignment_expression "sym.p_ = (Sym_data<64> *)symbuf" (field_expression "sym.p_" identifier . field_identifier) = (parenthesized_expression "(Sym_data<64> *)symbuf" ( (binary_expression "Sym_data<64> *)symbuf" (binary_expression "Sym_data<64" identifier < number_literal) > (pointer_expression "*)symbuf" * (ERROR ")" )) identifier)) ))) ;) (expression_statement "uVar6 = (uint)(byte)(this->input_reader_).flags_;" (assignment_expression "uVar6 = (uint)(byte)(this->input_reader_).flags_" identifier = (field_expression "(uint)(byte)(this->input_reader_).flags_" (call_expression "(uint)(byte)(this->input_reader_)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if ((1 < uVar6 - 1) && (uVar6 != 4)) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }" if (parenthesized_expression "((1 < uVar6 - 1) && (uVar6 != 4))" ( (binary_expression "(1 < uVar6 - 1) && (uVar6 != 4)" (parenthesized_expression "(1 < uVar6 - 1)" ( (binary_expression "1 < uVar6 - 1" number_literal < (binary_expression "uVar6 - 1" identifier - number_literal)) )) && (parenthesized_expression "(uVar6 != 4)" ( (binary_expression "uVar6 != 4" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }" { comment (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1d20" identifier + number_literal) ))) ;) })) (expression_statement "ppSVar7 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_start;" (field_expression "ppSVar7 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_start" (field_expression "ppSVar7 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl" (binary_expression "ppSVar7 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar7 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar7 = (this->symbols_).super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar7 = (this->symbols_).super__Vector_base<gold" identifier = (binary_expression "(this->symbols_).super__Vector_base<gold" (field_expression "(this->symbols_).super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "ppSVar13 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n             _M_impl._M_finish;" (field_expression "ppSVar13 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n             _M_impl._M_finish" (field_expression "ppSVar13 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n             _M_impl" (binary_expression "ppSVar13 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar13 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar13 = (this->symbols_).super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar13 = (this->symbols_).super__Vector_base<gold" identifier = (binary_expression "(this->symbols_).super__Vector_base<gold" (field_expression "(this->symbols_).super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar10 = (int)ppSVar13 - (int)ppSVar7 >> 2;" (assignment_expression "uVar10 = (int)ppSVar13 - (int)ppSVar7 >> 2" identifier = (binary_expression "(int)ppSVar13 - (int)ppSVar7 >> 2" (binary_expression "(int)ppSVar13 - (int)ppSVar7" (cast_expression "(int)ppSVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppSVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "uVar6 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4);" (assignment_expression "uVar6 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4)" identifier = (pointer_expression "*(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4)" * (cast_expression "(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4)" ( (binary_expression "((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4" (binary_expression "((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_" (field_expression "((this->input_reader_).inputs_)->p_" (parenthesized_expression "((this->input_reader_).inputs_)" ( (field_expression "(this->input_reader_).inputs_" (parenthesized_expression "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) + (field_expression "(this->input_reader_).info_offset_" (parenthesized_expression "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) )) . field_identifier)) + number_literal) ))))) ;) (expression_statement "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar10 < uVar6) {\n    (*(code *)PTR__M_default_append_004c3664)(&this->symbols_,uVar6 - uVar10);\n    symtab_view.p_ = (uchar *)0x0;\n    strtab.base_ = (char *)0x0;\n    strtab.usable_size_ = 0;\n    Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab);\n    pSVar15 = this->ibase_;\n    uVar10 = (uint)(pSVar15->symtab_reader_).len_;\n    if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {\n      uVar10 = uVar10 + 3 >> 2;\n    }\n    else {\n      uVar10 = uVar10 >> 2;\n    }\n  }\n  else {\n    if ((uVar6 < uVar10) && (ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7)) {\n      (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n      _M_finish = ppSVar7;\n    }\n    symtab_view.p_ = (uchar *)0x0;\n    strtab.base_ = (char *)0x0;\n    strtab.usable_size_ = 0;\n    Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab);\n    pSVar15 = this->ibase_;\n    uVar10 = (uint)(pSVar15->symtab_reader_).len_;\n    if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {\n      uVar10 = uVar10 + 3;\n    }\n    uVar10 = uVar10 >> 2;\n    if (uVar6 == 0) {\n      return;\n    }\n  }" if (parenthesized_expression "(uVar10 < uVar6)" ( (binary_expression "uVar10 < uVar6" identifier < identifier) )) (compound_statement "{\n    (*(code *)PTR__M_default_append_004c3664)(&this->symbols_,uVar6 - uVar10);\n    symtab_view.p_ = (uchar *)0x0;\n    strtab.base_ = (char *)0x0;\n    strtab.usable_size_ = 0;\n    Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab);\n    pSVar15 = this->ibase_;\n    uVar10 = (uint)(pSVar15->symtab_reader_).len_;\n    if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {\n      uVar10 = uVar10 + 3 >> 2;\n    }\n    else {\n      uVar10 = uVar10 >> 2;\n    }\n  }" { (expression_statement "(*(code *)PTR__M_default_append_004c3664)(&this->symbols_,uVar6 - uVar10);" (call_expression "(*(code *)PTR__M_default_append_004c3664)(&this->symbols_,uVar6 - uVar10)" (parenthesized_expression "(*(code *)PTR__M_default_append_004c3664)" ( (pointer_expression "*(code *)PTR__M_default_append_004c3664" * (cast_expression "(code *)PTR__M_default_append_004c3664" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&this->symbols_,uVar6 - uVar10)" ( (pointer_expression "&this->symbols_" & (field_expression "this->symbols_" identifier -> field_identifier)) , (binary_expression "uVar6 - uVar10" identifier - identifier) ))) ;) (expression_statement "symtab_view.p_ = (uchar *)0x0;" (assignment_expression "symtab_view.p_ = (uchar *)0x0" (field_expression "symtab_view.p_" identifier . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "strtab.base_ = (char *)0x0;" (assignment_expression "strtab.base_ = (char *)0x0" (field_expression "strtab.base_" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "strtab.usable_size_ = 0;" (assignment_expression "strtab.usable_size_ = 0" (field_expression "strtab.usable_size_" identifier . field_identifier) = number_literal) ;) (expression_statement "Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab);" (comma_expression "Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab)" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab)" identifier > (ERROR "::" : :) (call_expression "get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab)" identifier (argument_list "(this->ibase_,&symtab_view,&symtab_count,&strtab)" ( (field_expression "this->ibase_" identifier -> field_identifier) , (pointer_expression "&symtab_view" & identifier) , (pointer_expression "&symtab_count" & identifier) , (pointer_expression "&strtab" & identifier) ))))) ;) (expression_statement "pSVar15 = this->ibase_;" (assignment_expression "pSVar15 = this->ibase_" identifier = (field_expression "this->ibase_" identifier -> field_identifier)) ;) (expression_statement "uVar10 = (uint)(pSVar15->symtab_reader_).len_;" (assignment_expression "uVar10 = (uint)(pSVar15->symtab_reader_).len_" identifier = (field_expression "(uint)(pSVar15->symtab_reader_).len_" (call_expression "(uint)(pSVar15->symtab_reader_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pSVar15->symtab_reader_)" ( (field_expression "pSVar15->symtab_reader_" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {\n      uVar10 = uVar10 + 3 >> 2;\n    }\n    else {\n      uVar10 = uVar10 >> 2;\n    }" if (parenthesized_expression "(*(int *)&(pSVar15->symtab_reader_).len_ < 0)" ( (binary_expression "*(int *)&(pSVar15->symtab_reader_).len_ < 0" (pointer_expression "*(int *)&(pSVar15->symtab_reader_).len_" * (cast_expression "(int *)&(pSVar15->symtab_reader_).len_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar15->symtab_reader_).len_" & (field_expression "(pSVar15->symtab_reader_).len_" (parenthesized_expression "(pSVar15->symtab_reader_)" ( (field_expression "pSVar15->symtab_reader_" identifier -> field_identifier) )) . field_identifier)))) < number_literal) )) (compound_statement "{\n      uVar10 = uVar10 + 3 >> 2;\n    }" { (expression_statement "uVar10 = uVar10 + 3 >> 2;" (assignment_expression "uVar10 = uVar10 + 3 >> 2" identifier = (binary_expression "uVar10 + 3 >> 2" (binary_expression "uVar10 + 3" identifier + number_literal) >> number_literal)) ;) }) (else_clause "else {\n      uVar10 = uVar10 >> 2;\n    }" else (compound_statement "{\n      uVar10 = uVar10 >> 2;\n    }" { (expression_statement "uVar10 = uVar10 >> 2;" (assignment_expression "uVar10 = uVar10 >> 2" identifier = (binary_expression "uVar10 >> 2" identifier >> number_literal)) ;) }))) }) (else_clause "else {\n    if ((uVar6 < uVar10) && (ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7)) {\n      (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n      _M_finish = ppSVar7;\n    }\n    symtab_view.p_ = (uchar *)0x0;\n    strtab.base_ = (char *)0x0;\n    strtab.usable_size_ = 0;\n    Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab);\n    pSVar15 = this->ibase_;\n    uVar10 = (uint)(pSVar15->symtab_reader_).len_;\n    if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {\n      uVar10 = uVar10 + 3;\n    }\n    uVar10 = uVar10 >> 2;\n    if (uVar6 == 0) {\n      return;\n    }\n  }" else (compound_statement "{\n    if ((uVar6 < uVar10) && (ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7)) {\n      (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n      _M_finish = ppSVar7;\n    }\n    symtab_view.p_ = (uchar *)0x0;\n    strtab.base_ = (char *)0x0;\n    strtab.usable_size_ = 0;\n    Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab);\n    pSVar15 = this->ibase_;\n    uVar10 = (uint)(pSVar15->symtab_reader_).len_;\n    if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {\n      uVar10 = uVar10 + 3;\n    }\n    uVar10 = uVar10 >> 2;\n    if (uVar6 == 0) {\n      return;\n    }\n  }" { (if_statement "if ((uVar6 < uVar10) && (ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7)) {\n      (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n      _M_finish = ppSVar7;\n    }" if (parenthesized_expression "((uVar6 < uVar10) && (ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7))" ( (binary_expression "(uVar6 < uVar10) && (ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7)" (parenthesized_expression "(uVar6 < uVar10)" ( (binary_expression "uVar6 < uVar10" identifier < identifier) )) && (parenthesized_expression "(ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7)" ( (comma_expression "ppSVar7 = ppSVar7 + uVar6, ppSVar13 != ppSVar7" (assignment_expression "ppSVar7 = ppSVar7 + uVar6" identifier = (binary_expression "ppSVar7 + uVar6" identifier + identifier)) , (binary_expression "ppSVar13 != ppSVar7" identifier != identifier)) ))) )) (compound_statement "{\n      (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n      _M_finish = ppSVar7;\n    }" { (expression_statement "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n      _M_finish = ppSVar7;" (assignment_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n      _M_finish = ppSVar7" (field_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n      _M_finish" (field_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->symbols_).super__Vector_base<gold" (field_expression "(this->symbols_).super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) })) (expression_statement "symtab_view.p_ = (uchar *)0x0;" (assignment_expression "symtab_view.p_ = (uchar *)0x0" (field_expression "symtab_view.p_" identifier . field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "strtab.base_ = (char *)0x0;" (assignment_expression "strtab.base_ = (char *)0x0" (field_expression "strtab.base_" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "strtab.usable_size_ = 0;" (assignment_expression "strtab.usable_size_ = 0" (field_expression "strtab.usable_size_" identifier . field_identifier) = number_literal) ;) (expression_statement "Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab);" (comma_expression "Sized_incremental_binary<64,_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab)" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "_false>::get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab)" identifier > (ERROR "::" : :) (call_expression "get_symtab_view\n              (this->ibase_,&symtab_view,&symtab_count,&strtab)" identifier (argument_list "(this->ibase_,&symtab_view,&symtab_count,&strtab)" ( (field_expression "this->ibase_" identifier -> field_identifier) , (pointer_expression "&symtab_view" & identifier) , (pointer_expression "&symtab_count" & identifier) , (pointer_expression "&strtab" & identifier) ))))) ;) (expression_statement "pSVar15 = this->ibase_;" (assignment_expression "pSVar15 = this->ibase_" identifier = (field_expression "this->ibase_" identifier -> field_identifier)) ;) (expression_statement "uVar10 = (uint)(pSVar15->symtab_reader_).len_;" (assignment_expression "uVar10 = (uint)(pSVar15->symtab_reader_).len_" identifier = (field_expression "(uint)(pSVar15->symtab_reader_).len_" (call_expression "(uint)(pSVar15->symtab_reader_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pSVar15->symtab_reader_)" ( (field_expression "pSVar15->symtab_reader_" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (*(int *)&(pSVar15->symtab_reader_).len_ < 0) {\n      uVar10 = uVar10 + 3;\n    }" if (parenthesized_expression "(*(int *)&(pSVar15->symtab_reader_).len_ < 0)" ( (binary_expression "*(int *)&(pSVar15->symtab_reader_).len_ < 0" (pointer_expression "*(int *)&(pSVar15->symtab_reader_).len_" * (cast_expression "(int *)&(pSVar15->symtab_reader_).len_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar15->symtab_reader_).len_" & (field_expression "(pSVar15->symtab_reader_).len_" (parenthesized_expression "(pSVar15->symtab_reader_)" ( (field_expression "pSVar15->symtab_reader_" identifier -> field_identifier) )) . field_identifier)))) < number_literal) )) (compound_statement "{\n      uVar10 = uVar10 + 3;\n    }" { (expression_statement "uVar10 = uVar10 + 3;" (assignment_expression "uVar10 = uVar10 + 3" identifier = (binary_expression "uVar10 + 3" identifier + number_literal)) ;) })) (expression_statement "uVar10 = uVar10 >> 2;" (assignment_expression "uVar10 = uVar10 >> 2" identifier = (binary_expression "uVar10 >> 2" identifier >> number_literal)) ;) (if_statement "if (uVar6 == 0) {\n      return;\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }))) (expression_statement "pcVar1 = PTR_s_in_a_linker_script_004c191c + 0x6db8;" (assignment_expression "pcVar1 = PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier + number_literal)) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n    if (1 < (byte)(this->input_reader_).flags_ - 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    uVar8 = (this->input_reader_).info_offset_;\n    puVar11 = ((this->input_reader_).inputs_)->p_;\n    iVar17 = uVar8 + 0x20;\n    uVar8 = *(uint *)(puVar11 + uVar8);\n    puVar2 = (uint *)(puVar11 +\n                     uVar23 * 0x14 + iVar17 +\n                     ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar8 = *puVar2;\n    iVar21 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    puVar24 = (uint *)(symtab_view.p_ + iVar21 * 0x18);\n    uVar8 = *puVar24;\n    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    pcVar22 = pcVar1;\n    if (uVar8 < strtab.usable_size_) {\n      pcVar22 = strtab.base_ + uVar8;\n    }\n    local_50 = (int)(uint)*(byte *)(puVar24 + 1) >> 4;\n    cVar14 = (char)local_50;\n    uVar8 = *(byte *)(puVar24 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar25 = puVar2[1];\n      cVar14 = '\x01';\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar25) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar3 = puVar24[2];\n      uVar9 = puVar24[3];\n      uVar19 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n      iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      uVar20 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (uVar19 == 0xfff1) {\n        symbuf._6_2_ = 0xf1ff;\n      }\n      else {\n        if (uVar19 == 0) {\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19];\n        if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar17 = uVar25 * 0x18 + iVar17;\n        uVar9 = *(uint *)(puVar11 + iVar17 + 4);\n        uVar25 = *(uint *)(puVar11 + iVar17 + 8);\n        uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);\n        if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar9 = uVar20;\n        if (uVar8 != 6) {\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }\n        uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n        uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25);\n        symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;\n        uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      }\n      symbuf._20_4_ = puVar24[5];\n      symbuf[4] = (char)uVar8 + cVar14 * '\x10';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf._8_4_ = uVar3;\n      symbuf._12_4_ = uVar9;\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      this->defined_count_ = this->defined_count_ + 1;\n    }\n    else {\n      uVar25 = puVar2[1];\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      if (uVar25 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      symbuf._20_4_ = puVar24[5];\n      symbuf[0xc] = '\0';\n      symbuf[0xd] = '\0';\n      symbuf[0xe] = '\0';\n      symbuf[0xf] = '\0';\n      symbuf[8] = '\0';\n      symbuf[9] = '\0';\n      symbuf[10] = '\0';\n      symbuf[0xb] = '\0';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[4] = (char)uVar8 + (char)local_50 * '\x10';\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf[6] = '\0';\n      symbuf[7] = '\0';\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      if (uVar26 == 0xffffffff) {\n        uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;\n        if (uVar25 == 0) {\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }\n        else {\n          bVar5 = uVar25 != 0x8000;\n        }\n        if (bVar5 == 0) {\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }\n      }\n    }\n    uVar8 = uVar23 + 1;\n    pSVar15 = this->ibase_;\n    ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n    (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n    _M_start[uVar23] = pSVar4;\n    ppSVar7[(uVar10 - symtab_count) + iVar21] = pSVar4;\n    uVar23 = uVar8;\n    if (uVar8 == uVar6) {\n      return;\n    }\n  } while( true );" do (compound_statement "{\n    if (1 < (byte)(this->input_reader_).flags_ - 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    uVar8 = (this->input_reader_).info_offset_;\n    puVar11 = ((this->input_reader_).inputs_)->p_;\n    iVar17 = uVar8 + 0x20;\n    uVar8 = *(uint *)(puVar11 + uVar8);\n    puVar2 = (uint *)(puVar11 +\n                     uVar23 * 0x14 + iVar17 +\n                     ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar8 = *puVar2;\n    iVar21 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    puVar24 = (uint *)(symtab_view.p_ + iVar21 * 0x18);\n    uVar8 = *puVar24;\n    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    pcVar22 = pcVar1;\n    if (uVar8 < strtab.usable_size_) {\n      pcVar22 = strtab.base_ + uVar8;\n    }\n    local_50 = (int)(uint)*(byte *)(puVar24 + 1) >> 4;\n    cVar14 = (char)local_50;\n    uVar8 = *(byte *)(puVar24 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar25 = puVar2[1];\n      cVar14 = '\x01';\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar25) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar3 = puVar24[2];\n      uVar9 = puVar24[3];\n      uVar19 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n      iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      uVar20 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (uVar19 == 0xfff1) {\n        symbuf._6_2_ = 0xf1ff;\n      }\n      else {\n        if (uVar19 == 0) {\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19];\n        if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar17 = uVar25 * 0x18 + iVar17;\n        uVar9 = *(uint *)(puVar11 + iVar17 + 4);\n        uVar25 = *(uint *)(puVar11 + iVar17 + 8);\n        uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);\n        if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar9 = uVar20;\n        if (uVar8 != 6) {\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }\n        uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n        uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25);\n        symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;\n        uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      }\n      symbuf._20_4_ = puVar24[5];\n      symbuf[4] = (char)uVar8 + cVar14 * '\x10';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf._8_4_ = uVar3;\n      symbuf._12_4_ = uVar9;\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      this->defined_count_ = this->defined_count_ + 1;\n    }\n    else {\n      uVar25 = puVar2[1];\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      if (uVar25 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      symbuf._20_4_ = puVar24[5];\n      symbuf[0xc] = '\0';\n      symbuf[0xd] = '\0';\n      symbuf[0xe] = '\0';\n      symbuf[0xf] = '\0';\n      symbuf[8] = '\0';\n      symbuf[9] = '\0';\n      symbuf[10] = '\0';\n      symbuf[0xb] = '\0';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[4] = (char)uVar8 + (char)local_50 * '\x10';\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf[6] = '\0';\n      symbuf[7] = '\0';\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      if (uVar26 == 0xffffffff) {\n        uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;\n        if (uVar25 == 0) {\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }\n        else {\n          bVar5 = uVar25 != 0x8000;\n        }\n        if (bVar5 == 0) {\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }\n      }\n    }\n    uVar8 = uVar23 + 1;\n    pSVar15 = this->ibase_;\n    ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n    (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n    _M_start[uVar23] = pSVar4;\n    ppSVar7[(uVar10 - symtab_count) + iVar21] = pSVar4;\n    uVar23 = uVar8;\n    if (uVar8 == uVar6) {\n      return;\n    }\n  }" { (if_statement "if (1 < (byte)(this->input_reader_).flags_ - 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }" if (parenthesized_expression "(1 < (byte)(this->input_reader_).flags_ - 1)" ( (binary_expression "1 < (byte)(this->input_reader_).flags_ - 1" number_literal < (binary_expression "(byte)(this->input_reader_).flags_ - 1" (field_expression "(byte)(this->input_reader_).flags_" (call_expression "(byte)(this->input_reader_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) ))) . field_identifier) - number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }" { comment (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1bd4" identifier + number_literal) ))) ;) })) (expression_statement "uVar8 = (this->input_reader_).info_offset_;" (assignment_expression "uVar8 = (this->input_reader_).info_offset_" identifier = (field_expression "(this->input_reader_).info_offset_" (parenthesized_expression "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "puVar11 = ((this->input_reader_).inputs_)->p_;" (assignment_expression "puVar11 = ((this->input_reader_).inputs_)->p_" identifier = (field_expression "((this->input_reader_).inputs_)->p_" (parenthesized_expression "((this->input_reader_).inputs_)" ( (field_expression "(this->input_reader_).inputs_" (parenthesized_expression "(this->input_reader_)" ( (field_expression "this->input_reader_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) ;) (expression_statement "iVar17 = uVar8 + 0x20;" (assignment_expression "iVar17 = uVar8 + 0x20" identifier = (binary_expression "uVar8 + 0x20" identifier + number_literal)) ;) (expression_statement "uVar8 = *(uint *)(puVar11 + uVar8);" (assignment_expression "uVar8 = *(uint *)(puVar11 + uVar8)" identifier = (pointer_expression "*(uint *)(puVar11 + uVar8)" * (cast_expression "(uint *)(puVar11 + uVar8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + uVar8)" ( (binary_expression "puVar11 + uVar8" identifier + identifier) ))))) ;) (expression_statement "puVar2 = (uint *)(puVar11 +\n                     uVar23 * 0x14 + iVar17 +\n                     ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18);" (assignment_expression "puVar2 = (uint *)(puVar11 +\n                     uVar23 * 0x14 + iVar17 +\n                     ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18)" identifier = (cast_expression "(uint *)(puVar11 +\n                     uVar23 * 0x14 + iVar17 +\n                     ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 +\n                     uVar23 * 0x14 + iVar17 +\n                     ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18)" ( (binary_expression "puVar11 +\n                     uVar23 * 0x14 + iVar17 +\n                     ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18" (binary_expression "puVar11 +\n                     uVar23 * 0x14 + iVar17" (binary_expression "puVar11 +\n                     uVar23 * 0x14" identifier + (binary_expression "uVar23 * 0x14" identifier * number_literal)) + identifier) + (binary_expression "((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000) * 0x18" (parenthesized_expression "((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )) * number_literal)) )))) ;) (expression_statement "uVar8 = *puVar2;" (assignment_expression "uVar8 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "iVar21 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar21 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar24 = (uint *)(symtab_view.p_ + iVar21 * 0x18);" (assignment_expression "puVar24 = (uint *)(symtab_view.p_ + iVar21 * 0x18)" identifier = (cast_expression "(uint *)(symtab_view.p_ + iVar21 * 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(symtab_view.p_ + iVar21 * 0x18)" ( (binary_expression "symtab_view.p_ + iVar21 * 0x18" (field_expression "symtab_view.p_" identifier . field_identifier) + (binary_expression "iVar21 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "uVar8 = *puVar24;" (assignment_expression "uVar8 = *puVar24" identifier = (pointer_expression "*puVar24" * identifier)) ;) (expression_statement "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "pcVar22 = pcVar1;" (assignment_expression "pcVar22 = pcVar1" identifier = identifier) ;) (if_statement "if (uVar8 < strtab.usable_size_) {\n      pcVar22 = strtab.base_ + uVar8;\n    }" if (parenthesized_expression "(uVar8 < strtab.usable_size_)" ( (binary_expression "uVar8 < strtab.usable_size_" identifier < (field_expression "strtab.usable_size_" identifier . field_identifier)) )) (compound_statement "{\n      pcVar22 = strtab.base_ + uVar8;\n    }" { (expression_statement "pcVar22 = strtab.base_ + uVar8;" (assignment_expression "pcVar22 = strtab.base_ + uVar8" identifier = (binary_expression "strtab.base_ + uVar8" (field_expression "strtab.base_" identifier . field_identifier) + identifier)) ;) })) (expression_statement "local_50 = (int)(uint)*(byte *)(puVar24 + 1) >> 4;" (assignment_expression "local_50 = (int)(uint)*(byte *)(puVar24 + 1) >> 4" identifier = (binary_expression "(int)(uint)*(byte *)(puVar24 + 1) >> 4" (binary_expression "(int)(uint)*(byte *)(puVar24 + 1)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(puVar24 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 1)" ( (binary_expression "puVar24 + 1" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "cVar14 = (char)local_50;" (assignment_expression "cVar14 = (char)local_50" identifier = (cast_expression "(char)local_50" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "uVar8 = *(byte *)(puVar24 + 1) & 0xf;" (assignment_expression "uVar8 = *(byte *)(puVar24 + 1) & 0xf" identifier = (binary_expression "*(byte *)(puVar24 + 1) & 0xf" (pointer_expression "*(byte *)(puVar24 + 1)" * (cast_expression "(byte *)(puVar24 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 1)" ( (binary_expression "puVar24 + 1" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (local_50 == 0) {\n      uVar25 = puVar2[1];\n      cVar14 = '\x01';\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar25) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar3 = puVar24[2];\n      uVar9 = puVar24[3];\n      uVar19 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n      iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      uVar20 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (uVar19 == 0xfff1) {\n        symbuf._6_2_ = 0xf1ff;\n      }\n      else {\n        if (uVar19 == 0) {\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19];\n        if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar17 = uVar25 * 0x18 + iVar17;\n        uVar9 = *(uint *)(puVar11 + iVar17 + 4);\n        uVar25 = *(uint *)(puVar11 + iVar17 + 8);\n        uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);\n        if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar9 = uVar20;\n        if (uVar8 != 6) {\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }\n        uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n        uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25);\n        symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;\n        uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      }\n      symbuf._20_4_ = puVar24[5];\n      symbuf[4] = (char)uVar8 + cVar14 * '\x10';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf._8_4_ = uVar3;\n      symbuf._12_4_ = uVar9;\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      this->defined_count_ = this->defined_count_ + 1;\n    }\n    else {\n      uVar25 = puVar2[1];\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      if (uVar25 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      symbuf._20_4_ = puVar24[5];\n      symbuf[0xc] = '\0';\n      symbuf[0xd] = '\0';\n      symbuf[0xe] = '\0';\n      symbuf[0xf] = '\0';\n      symbuf[8] = '\0';\n      symbuf[9] = '\0';\n      symbuf[10] = '\0';\n      symbuf[0xb] = '\0';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[4] = (char)uVar8 + (char)local_50 * '\x10';\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf[6] = '\0';\n      symbuf[7] = '\0';\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      if (uVar26 == 0xffffffff) {\n        uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;\n        if (uVar25 == 0) {\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }\n        else {\n          bVar5 = uVar25 != 0x8000;\n        }\n        if (bVar5 == 0) {\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }\n      }\n    }" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar25 = puVar2[1];\n      cVar14 = '\x01';\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar25) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar3 = puVar24[2];\n      uVar9 = puVar24[3];\n      uVar19 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n      iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      uVar20 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (uVar19 == 0xfff1) {\n        symbuf._6_2_ = 0xf1ff;\n      }\n      else {\n        if (uVar19 == 0) {\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19];\n        if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar17 = uVar25 * 0x18 + iVar17;\n        uVar9 = *(uint *)(puVar11 + iVar17 + 4);\n        uVar25 = *(uint *)(puVar11 + iVar17 + 8);\n        uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);\n        if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar9 = uVar20;\n        if (uVar8 != 6) {\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }\n        uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n        uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25);\n        symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;\n        uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      }\n      symbuf._20_4_ = puVar24[5];\n      symbuf[4] = (char)uVar8 + cVar14 * '\x10';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf._8_4_ = uVar3;\n      symbuf._12_4_ = uVar9;\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      this->defined_count_ = this->defined_count_ + 1;\n    }" { (expression_statement "uVar25 = puVar2[1];" (assignment_expression "uVar25 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "cVar14 = '\x01';" (assignment_expression "cVar14 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10)" ( (binary_expression "(uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10" (binary_expression "(uVar25 >> 0x10) << 0x18" (parenthesized_expression "(uVar25 >> 0x10)" ( (binary_expression "uVar25 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar25 >> 0x18) << 0x10" (parenthesized_expression "(uVar25 >> 0x18)" ( (binary_expression "uVar25 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff)" ( (binary_expression "(uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff" (binary_expression "(uVar25 & 0xff) << 8" (parenthesized_expression "(uVar25 & 0xff)" ( (binary_expression "uVar25 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar25 >> 8 & 0xff" (binary_expression "uVar25 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar25 = uVar26 - 1;" (assignment_expression "uVar25 = uVar26 - 1" identifier = (binary_expression "uVar26 - 1" identifier - number_literal)) ;) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (if_statement "if (0xfffffffd < uVar25) goto LAB_0019bf08;" if (parenthesized_expression "(0xfffffffd < uVar25)" ( (binary_expression "0xfffffffd < uVar25" number_literal < identifier) )) (goto_statement "goto LAB_0019bf08;" goto statement_identifier ;)) (labeled_statement "LAB_0019bd28:\n      uVar3 = puVar24[2];" statement_identifier : (expression_statement "uVar3 = puVar24[2];" (assignment_expression "uVar3 = puVar24[2]" identifier = (subscript_expression "puVar24[2]" identifier [ number_literal ])) ;)) (expression_statement "uVar9 = puVar24[3];" (assignment_expression "uVar9 = puVar24[3]" identifier = (subscript_expression "puVar24[3]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar24 + 6) >> 8);" (assignment_expression "uVar19 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar24 + 6) >> 8)" identifier = (binary_expression "(*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar24 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar24 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar24 + 6) & 0xff)" ( (binary_expression "*(ushort *)((int)puVar24 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar24 + 6)" * (cast_expression "(ushort *)((int)puVar24 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + 6)" ( (binary_expression "(int)puVar24 + 6" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)((int)puVar24 + 6) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)puVar24 + 6) >> 8)" ( (binary_expression "*(ushort *)((int)puVar24 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar24 + 6)" * (cast_expression "(ushort *)((int)puVar24 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + 6)" ( (binary_expression "(int)puVar24 + 6" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))))) ;) (expression_statement "iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar20 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar20 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10)" ( (binary_expression "(uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10" (binary_expression "(uVar3 >> 0x10) << 0x18" (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff)" ( (binary_expression "(uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff" (binary_expression "(uVar3 & 0xff) << 8" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar19 == 0xfff1) {\n        symbuf._6_2_ = 0xf1ff;\n      }\n      else {\n        if (uVar19 == 0) {\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19];\n        if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar17 = uVar25 * 0x18 + iVar17;\n        uVar9 = *(uint *)(puVar11 + iVar17 + 4);\n        uVar25 = *(uint *)(puVar11 + iVar17 + 8);\n        uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);\n        if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar9 = uVar20;\n        if (uVar8 != 6) {\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }\n        uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n        uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25);\n        symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;\n        uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      }" if (parenthesized_expression "(uVar19 == 0xfff1)" ( (binary_expression "uVar19 == 0xfff1" identifier == number_literal) )) (compound_statement "{\n        symbuf._6_2_ = 0xf1ff;\n      }" { (expression_statement "symbuf._6_2_ = 0xf1ff;" (assignment_expression "symbuf._6_2_ = 0xf1ff" (field_expression "symbuf._6_2_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n        if (uVar19 == 0) {\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19];\n        if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar17 = uVar25 * 0x18 + iVar17;\n        uVar9 = *(uint *)(puVar11 + iVar17 + 4);\n        uVar25 = *(uint *)(puVar11 + iVar17 + 8);\n        uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);\n        if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar9 = uVar20;\n        if (uVar8 != 6) {\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }\n        uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n        uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25);\n        symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;\n        uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      }" else (compound_statement "{\n        if (uVar19 == 0) {\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19];\n        if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar17 = uVar25 * 0x18 + iVar17;\n        uVar9 = *(uint *)(puVar11 + iVar17 + 4);\n        uVar25 = *(uint *)(puVar11 + iVar17 + 8);\n        uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);\n        if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar9 = uVar20;\n        if (uVar8 != 6) {\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }\n        uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);\n        uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25);\n        symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;\n        uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n      }" { (if_statement "if (uVar19 == 0) {\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar17 = 0x884;\nLAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);\n        }" { (expression_statement "iVar17 = 0x884;" (assignment_expression "iVar17 = 0x884" identifier = number_literal) ;) (labeled_statement "LAB_0019c214:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);" statement_identifier : comment (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xee0,iVar17,PTR_s__s_004c1a50 + 0x1bf0)" ( (binary_expression "PTR_s__s_004c1a50 + 0xee0" identifier + number_literal) , identifier , (binary_expression "PTR_s__s_004c1a50 + 0x1bf0" identifier + number_literal) ))) ;)) })) (expression_statement "pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19];" (subscript_expression "pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar19]" (field_expression "pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start" (field_expression "pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl" (binary_expression "pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold::Output_section*,_std" (assignment_expression "pOVar16 = (pSVar15->section_map_).\n                  super__Vector_base<gold" identifier = (binary_expression "(pSVar15->section_map_).\n                  super__Vector_base<gold" (field_expression "(pSVar15->section_map_).\n                  super__Vector_base" (parenthesized_expression "(pSVar15->section_map_)" ( (field_expression "pSVar15->section_map_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) ;) (if_statement "if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }" if (parenthesized_expression "((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15))" ( (binary_expression "(pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)" (parenthesized_expression "(pOVar16 == (Output_section *)0x0)" ( (binary_expression "pOVar16 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(-1 < *(int *)&pOVar16->field_0x98 << 0x15)" ( (binary_expression "-1 < *(int *)&pOVar16->field_0x98 << 0x15" number_literal < (binary_expression "*(int *)&pOVar16->field_0x98 << 0x15" (pointer_expression "*(int *)&pOVar16->field_0x98" * (cast_expression "(int *)&pOVar16->field_0x98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar16->field_0x98" & (field_expression "pOVar16->field_0x98" identifier -> field_identifier)))) << number_literal)) ))) )) (compound_statement "{\n          iVar17 = 0x886;\n          goto LAB_0019c214;\n        }" { (expression_statement "iVar17 = 0x886;" (assignment_expression "iVar17 = 0x886" identifier = number_literal) ;) (goto_statement "goto LAB_0019c214;" goto statement_identifier ;) })) (expression_statement "iVar17 = uVar25 * 0x18 + iVar17;" (assignment_expression "iVar17 = uVar25 * 0x18 + iVar17" identifier = (binary_expression "uVar25 * 0x18 + iVar17" (binary_expression "uVar25 * 0x18" identifier * number_literal) + identifier)) ;) (expression_statement "uVar9 = *(uint *)(puVar11 + iVar17 + 4);" (assignment_expression "uVar9 = *(uint *)(puVar11 + iVar17 + 4)" identifier = (pointer_expression "*(uint *)(puVar11 + iVar17 + 4)" * (cast_expression "(uint *)(puVar11 + iVar17 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + iVar17 + 4)" ( (binary_expression "puVar11 + iVar17 + 4" (binary_expression "puVar11 + iVar17" identifier + identifier) + number_literal) ))))) ;) (expression_statement "uVar25 = *(uint *)(puVar11 + iVar17 + 8);" (assignment_expression "uVar25 = *(uint *)(puVar11 + iVar17 + 8)" identifier = (pointer_expression "*(uint *)(puVar11 + iVar17 + 8)" * (cast_expression "(uint *)(puVar11 + iVar17 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + iVar17 + 8)" ( (binary_expression "puVar11 + iVar17 + 8" (binary_expression "puVar11 + iVar17" identifier + identifier) + number_literal) ))))) ;) (expression_statement "uVar3 = *(uint *)(puVar11 + iVar17 + 0xc);" (assignment_expression "uVar3 = *(uint *)(puVar11 + iVar17 + 0xc)" identifier = (pointer_expression "*(uint *)(puVar11 + iVar17 + 0xc)" * (cast_expression "(uint *)(puVar11 + iVar17 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + iVar17 + 0xc)" ( (binary_expression "puVar11 + iVar17 + 0xc" (binary_expression "puVar11 + iVar17" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000) {\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }" if (parenthesized_expression "(uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000)" ( (binary_expression "uVar19 != (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" identifier != (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) )) (compound_statement "{\n          iVar17 = 0x889;\n          goto LAB_0019c214;\n        }" { (expression_statement "iVar17 = 0x889;" (assignment_expression "iVar17 = 0x889" identifier = number_literal) ;) (goto_statement "goto LAB_0019c214;" goto statement_identifier ;) })) (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" identifier = identifier) ;) (if_statement "if (uVar8 != 6) {\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }" if (parenthesized_expression "(uVar8 != 6)" ( (binary_expression "uVar8 != 6" identifier != number_literal) )) (compound_statement "{\n          if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;\n          iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);\n        }" { (if_statement "if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) {\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }" if (parenthesized_expression "(-1 < *(int *)&(pOVar16->super_Output_data).field_0x20)" ( (binary_expression "-1 < *(int *)&(pOVar16->super_Output_data).field_0x20" number_literal < (pointer_expression "*(int *)&(pOVar16->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar16->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar16->super_Output_data).field_0x20" & (field_expression "(pOVar16->super_Output_data).field_0x20" (parenthesized_expression "(pOVar16->super_Output_data)" ( (field_expression "pOVar16->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) )) (compound_statement "{\nLAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);\n          }" { (labeled_statement "LAB_0019c238:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);" statement_identifier : comment (expression_statement "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8);" (call_expression "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                                PTR_s__s_004c1a50 + 0x25d8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x25d8" identifier + number_literal) ))) ;)) })) (expression_statement "uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_;" (assignment_expression "uVar9 = uVar20 - (int)(pOVar16->super_Output_data).address_" identifier = (binary_expression "uVar20 - (int)(pOVar16->super_Output_data).address_" identifier - (cast_expression "(int)(pOVar16->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar16->super_Output_data).address_" (parenthesized_expression "(pOVar16->super_Output_data)" ( (field_expression "pOVar16->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) ;) (expression_statement "iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9);" (assignment_expression "iVar18 = (iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9)" identifier = (binary_expression "(iVar18 - *(int *)&(pOVar16->super_Output_data).address_) -\n                   (uint)(uVar20 < uVar9)" (parenthesized_expression "(iVar18 - *(int *)&(pOVar16->super_Output_data).address_)" ( (binary_expression "iVar18 - *(int *)&(pOVar16->super_Output_data).address_" identifier - (pointer_expression "*(int *)&(pOVar16->super_Output_data).address_" * (cast_expression "(int *)&(pOVar16->super_Output_data).address_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar16->super_Output_data).address_" & (field_expression "(pOVar16->super_Output_data).address_" (parenthesized_expression "(pOVar16->super_Output_data)" ( (field_expression "pOVar16->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) )) - (call_expression "(uint)(uVar20 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar20 < uVar9)" ( (binary_expression "uVar20 < uVar9" identifier < identifier) ))))) ;) })) (expression_statement "uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000);" (assignment_expression "uVar25 = uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000)" identifier = (binary_expression "uVar9 - ((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000)" identifier - (parenthesized_expression "((((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10)" ( (binary_expression "(uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10" (binary_expression "(uVar25 >> 0x10) << 0x18" (parenthesized_expression "(uVar25 >> 0x10)" ( (binary_expression "uVar25 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar25 >> 0x18) << 0x10" (parenthesized_expression "(uVar25 >> 0x18)" ( (binary_expression "uVar25 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff)" ( (binary_expression "(uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff" (binary_expression "(uVar25 & 0xff) << 8" (parenthesized_expression "(uVar25 & 0xff)" ( (binary_expression "uVar25 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar25 >> 8 & 0xff" (binary_expression "uVar25 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (expression_statement "uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25);" (assignment_expression "uVar9 = (iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25)" identifier = (binary_expression "(iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar9 < uVar25)" (parenthesized_expression "(iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000))" ( (binary_expression "iVar18 - ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)" identifier - (parenthesized_expression "((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10)" ( (binary_expression "(uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10" (binary_expression "(uVar3 >> 0x10) << 0x18" (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff)" ( (binary_expression "(uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff" (binary_expression "(uVar3 & 0xff) << 8" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) ))) )) - (call_expression "(uint)(uVar9 < uVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < uVar25)" ( (binary_expression "uVar9 < uVar25" identifier < identifier) ))))) ;) (expression_statement "symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff;" (assignment_expression "symbuf._6_2_ = (ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff" (field_expression "symbuf._6_2_" identifier . field_identifier) = (binary_expression "(ushort)((uVar26 & 0xff) << 8) | (ushort)(uVar26 >> 8) & 0xff" (call_expression "(ushort)((uVar26 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar26 & 0xff) << 8)" ( (binary_expression "(uVar26 & 0xff) << 8" (parenthesized_expression "(uVar26 & 0xff)" ( (binary_expression "uVar26 & 0xff" identifier & number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar26 >> 8) & 0xff" (call_expression "(ushort)(uVar26 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar26 >> 8)" ( (binary_expression "uVar26 >> 8" identifier >> number_literal) ))) & number_literal))) ;) (expression_statement "uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar3 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10)" ( (binary_expression "(uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10" (binary_expression "(uVar25 >> 0x10) << 0x18" (parenthesized_expression "(uVar25 >> 0x10)" ( (binary_expression "uVar25 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar25 >> 0x18) << 0x10" (parenthesized_expression "(uVar25 >> 0x18)" ( (binary_expression "uVar25 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff)" ( (binary_expression "(uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff" (binary_expression "(uVar25 & 0xff) << 8" (parenthesized_expression "(uVar25 & 0xff)" ( (binary_expression "uVar25 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar25 >> 8 & 0xff" (binary_expression "uVar25 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }))) (expression_statement "symbuf._20_4_ = puVar24[5];" (assignment_expression "symbuf._20_4_ = puVar24[5]" (field_expression "symbuf._20_4_" identifier . field_identifier) = (subscript_expression "puVar24[5]" identifier [ number_literal ])) ;) (expression_statement "symbuf[4] = (char)uVar8 + cVar14 * '\x10';" (assignment_expression "symbuf[4] = (char)uVar8 + cVar14 * '\x10'" (subscript_expression "symbuf[4]" identifier [ number_literal ]) = (binary_expression "(char)uVar8 + cVar14 * '\x10'" (cast_expression "(char)uVar8" ( (type_descriptor "char" primitive_type) ) identifier) + (binary_expression "cVar14 * '\x10'" identifier * (char_literal "'\x10'" ' escape_sequence ')))) ;) (expression_statement "symbuf._16_4_ = puVar24[4];" (assignment_expression "symbuf._16_4_ = puVar24[4]" (field_expression "symbuf._16_4_" identifier . field_identifier) = (subscript_expression "puVar24[4]" identifier [ number_literal ])) ;) (expression_statement "symbuf[0] = '\0';" (assignment_expression "symbuf[0] = '\0'" (subscript_expression "symbuf[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[1] = '\0';" (assignment_expression "symbuf[1] = '\0'" (subscript_expression "symbuf[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[2] = '\0';" (assignment_expression "symbuf[2] = '\0'" (subscript_expression "symbuf[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[3] = '\0';" (assignment_expression "symbuf[3] = '\0'" (subscript_expression "symbuf[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[5] = *(uchar *)((int)puVar24 + 5);" (assignment_expression "symbuf[5] = *(uchar *)((int)puVar24 + 5)" (subscript_expression "symbuf[5]" identifier [ number_literal ]) = (pointer_expression "*(uchar *)((int)puVar24 + 5)" * (cast_expression "(uchar *)((int)puVar24 + 5)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + 5)" ( (binary_expression "(int)puVar24 + 5" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "symbuf._8_4_ = uVar3;" (assignment_expression "symbuf._8_4_ = uVar3" (field_expression "symbuf._8_4_" identifier . field_identifier) = identifier) ;) (expression_statement "symbuf._12_4_ = uVar9;" (assignment_expression "symbuf._12_4_ = uVar9" (field_expression "symbuf._12_4_" identifier . field_identifier) = identifier) ;) (expression_statement "pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);" (assignment_expression "pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym)" identifier = (cast_expression "(Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym)" (parenthesized_expression "(*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)" ( (comma_expression "*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4" (binary_expression "*(code *)PTR_add_from_incrobj<64" (pointer_expression "*(code *)PTR_add_from_incrobj" * (cast_expression "(code *)PTR_add_from_incrobj" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) , (binary_expression "_false>_004c3ae4" identifier > identifier)) )) (argument_list "(symtab,this,pcVar22,0,&sym)" ( identifier , identifier , identifier , number_literal , (pointer_expression "&sym" & identifier) ))))) ;) (expression_statement "this->defined_count_ = this->defined_count_ + 1;" (assignment_expression "this->defined_count_ = this->defined_count_ + 1" (field_expression "this->defined_count_" identifier -> field_identifier) = (binary_expression "this->defined_count_ + 1" (field_expression "this->defined_count_" identifier -> field_identifier) + number_literal)) ;) }) (else_clause "else {\n      uVar25 = puVar2[1];\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      if (uVar25 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      symbuf._20_4_ = puVar24[5];\n      symbuf[0xc] = '\0';\n      symbuf[0xd] = '\0';\n      symbuf[0xe] = '\0';\n      symbuf[0xf] = '\0';\n      symbuf[8] = '\0';\n      symbuf[9] = '\0';\n      symbuf[10] = '\0';\n      symbuf[0xb] = '\0';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[4] = (char)uVar8 + (char)local_50 * '\x10';\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf[6] = '\0';\n      symbuf[7] = '\0';\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      if (uVar26 == 0xffffffff) {\n        uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;\n        if (uVar25 == 0) {\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }\n        else {\n          bVar5 = uVar25 != 0x8000;\n        }\n        if (bVar5 == 0) {\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }\n      }\n    }" else (compound_statement "{\n      uVar25 = puVar2[1];\n      uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n      uVar25 = uVar26 - 1;\n      if (uVar25 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      symbuf._20_4_ = puVar24[5];\n      symbuf[0xc] = '\0';\n      symbuf[0xd] = '\0';\n      symbuf[0xe] = '\0';\n      symbuf[0xf] = '\0';\n      symbuf[8] = '\0';\n      symbuf[9] = '\0';\n      symbuf[10] = '\0';\n      symbuf[0xb] = '\0';\n      symbuf._16_4_ = puVar24[4];\n      symbuf[4] = (char)uVar8 + (char)local_50 * '\x10';\n      symbuf[0] = '\0';\n      symbuf[1] = '\0';\n      symbuf[2] = '\0';\n      symbuf[3] = '\0';\n      symbuf[5] = *(uchar *)((int)puVar24 + 5);\n      symbuf[6] = '\0';\n      symbuf[7] = '\0';\n      pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);\n      if (uVar26 == 0xffffffff) {\n        uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;\n        if (uVar25 == 0) {\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }\n        else {\n          bVar5 = uVar25 != 0x8000;\n        }\n        if (bVar5 == 0) {\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }\n      }\n    }" { (expression_statement "uVar25 = puVar2[1];" (assignment_expression "uVar25 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar26 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10)" ( (binary_expression "(uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10" (binary_expression "(uVar25 >> 0x10) << 0x18" (parenthesized_expression "(uVar25 >> 0x10)" ( (binary_expression "uVar25 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar25 >> 0x18) << 0x10" (parenthesized_expression "(uVar25 >> 0x18)" ( (binary_expression "uVar25 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff)" ( (binary_expression "(uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff" (binary_expression "(uVar25 & 0xff) << 8" (parenthesized_expression "(uVar25 & 0xff)" ( (binary_expression "uVar25 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar25 >> 8 & 0xff" (binary_expression "uVar25 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar25 = uVar26 - 1;" (assignment_expression "uVar25 = uVar26 - 1" identifier = (binary_expression "uVar26 - 1" identifier - number_literal)) ;) (if_statement "if (uVar25 < 0xfffffffe) goto LAB_0019bd28;" if (parenthesized_expression "(uVar25 < 0xfffffffe)" ( (binary_expression "uVar25 < 0xfffffffe" identifier < number_literal) )) (goto_statement "goto LAB_0019bd28;" goto statement_identifier ;)) (labeled_statement "LAB_0019bf08:\n      symbuf._20_4_ = puVar24[5];" statement_identifier : (expression_statement "symbuf._20_4_ = puVar24[5];" (assignment_expression "symbuf._20_4_ = puVar24[5]" (field_expression "symbuf._20_4_" identifier . field_identifier) = (subscript_expression "puVar24[5]" identifier [ number_literal ])) ;)) (expression_statement "symbuf[0xc] = '\0';" (assignment_expression "symbuf[0xc] = '\0'" (subscript_expression "symbuf[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[0xd] = '\0';" (assignment_expression "symbuf[0xd] = '\0'" (subscript_expression "symbuf[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[0xe] = '\0';" (assignment_expression "symbuf[0xe] = '\0'" (subscript_expression "symbuf[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[0xf] = '\0';" (assignment_expression "symbuf[0xf] = '\0'" (subscript_expression "symbuf[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[8] = '\0';" (assignment_expression "symbuf[8] = '\0'" (subscript_expression "symbuf[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[9] = '\0';" (assignment_expression "symbuf[9] = '\0'" (subscript_expression "symbuf[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[10] = '\0';" (assignment_expression "symbuf[10] = '\0'" (subscript_expression "symbuf[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[0xb] = '\0';" (assignment_expression "symbuf[0xb] = '\0'" (subscript_expression "symbuf[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf._16_4_ = puVar24[4];" (assignment_expression "symbuf._16_4_ = puVar24[4]" (field_expression "symbuf._16_4_" identifier . field_identifier) = (subscript_expression "puVar24[4]" identifier [ number_literal ])) ;) (expression_statement "symbuf[4] = (char)uVar8 + (char)local_50 * '\x10';" (assignment_expression "symbuf[4] = (char)uVar8 + (char)local_50 * '\x10'" (subscript_expression "symbuf[4]" identifier [ number_literal ]) = (binary_expression "(char)uVar8 + (char)local_50 * '\x10'" (cast_expression "(char)uVar8" ( (type_descriptor "char" primitive_type) ) identifier) + (binary_expression "(char)local_50 * '\x10'" (cast_expression "(char)local_50" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\x10'" ' escape_sequence ')))) ;) (expression_statement "symbuf[0] = '\0';" (assignment_expression "symbuf[0] = '\0'" (subscript_expression "symbuf[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[1] = '\0';" (assignment_expression "symbuf[1] = '\0'" (subscript_expression "symbuf[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[2] = '\0';" (assignment_expression "symbuf[2] = '\0'" (subscript_expression "symbuf[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[3] = '\0';" (assignment_expression "symbuf[3] = '\0'" (subscript_expression "symbuf[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[5] = *(uchar *)((int)puVar24 + 5);" (assignment_expression "symbuf[5] = *(uchar *)((int)puVar24 + 5)" (subscript_expression "symbuf[5]" identifier [ number_literal ]) = (pointer_expression "*(uchar *)((int)puVar24 + 5)" * (cast_expression "(uchar *)((int)puVar24 + 5)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + 5)" ( (binary_expression "(int)puVar24 + 5" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "symbuf[6] = '\0';" (assignment_expression "symbuf[6] = '\0'" (subscript_expression "symbuf[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "symbuf[7] = '\0';" (assignment_expression "symbuf[7] = '\0'" (subscript_expression "symbuf[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym);" (assignment_expression "pSVar4 = (Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym)" identifier = (cast_expression "(Symbol *)\n               (*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)(symtab,this,pcVar22,0,&sym)" (parenthesized_expression "(*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4)" ( (comma_expression "*(code *)PTR_add_from_incrobj<64,_false>_004c3ae4" (binary_expression "*(code *)PTR_add_from_incrobj<64" (pointer_expression "*(code *)PTR_add_from_incrobj" * (cast_expression "(code *)PTR_add_from_incrobj" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) , (binary_expression "_false>_004c3ae4" identifier > identifier)) )) (argument_list "(symtab,this,pcVar22,0,&sym)" ( identifier , identifier , identifier , number_literal , (pointer_expression "&sym" & identifier) ))))) ;) (if_statement "if (uVar26 == 0xffffffff) {\n        uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;\n        if (uVar25 == 0) {\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }\n        else {\n          bVar5 = uVar25 != 0x8000;\n        }\n        if (bVar5 == 0) {\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }\n      }" if (parenthesized_expression "(uVar26 == 0xffffffff)" ( (binary_expression "uVar26 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;\n        if (uVar25 == 0) {\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }\n        else {\n          bVar5 = uVar25 != 0x8000;\n        }\n        if (bVar5 == 0) {\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }\n      }" { (expression_statement "uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000;" (assignment_expression "uVar25 = *(uint *)&pSVar4->field_0x28 & 0xe000" identifier = (binary_expression "*(uint *)&pSVar4->field_0x28 & 0xe000" (pointer_expression "*(uint *)&pSVar4->field_0x28" * (cast_expression "(uint *)&pSVar4->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar4->field_0x28" & (field_expression "pSVar4->field_0x28" identifier -> field_identifier)))) & number_literal)) ;) (if_statement "if (uVar25 == 0) {\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }\n        else {\n          bVar5 = uVar25 != 0x8000;\n        }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n          if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }\n        }" { (if_statement "if ((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0) {\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }\n          else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }" if (parenthesized_expression "((int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0)" ( (binary_expression "(int)(*(uint *)&pSVar4->field_0x28 << 0x1d) < 0" (cast_expression "(int)(*(uint *)&pSVar4->field_0x28 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)&pSVar4->field_0x28 << 0x1d)" ( (binary_expression "*(uint *)&pSVar4->field_0x28 << 0x1d" (pointer_expression "*(uint *)&pSVar4->field_0x28" * (cast_expression "(uint *)&pSVar4->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar4->field_0x28" & (field_expression "pSVar4->field_0x28" identifier -> field_identifier)))) << number_literal) ))) < number_literal) )) (compound_statement "{\n            bVar5 = (pSVar4->u2_).shndx != 0;\n          }" { (expression_statement "bVar5 = (pSVar4->u2_).shndx != 0;" (assignment_expression "bVar5 = (pSVar4->u2_).shndx != 0" identifier = (binary_expression "(pSVar4->u2_).shndx != 0" (field_expression "(pSVar4->u2_).shndx" (parenthesized_expression "(pSVar4->u2_)" ( (field_expression "pSVar4->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal)) ;) }) (else_clause "else {\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }" else (compound_statement "{\n            bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar5 = bVar5 ^ 1;\n          }" { (expression_statement "bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)();" (assignment_expression "bVar5 = (*(code *)PTR_is_common_shndx_004c1ccc)()" identifier = (call_expression "(*(code *)PTR_is_common_shndx_004c1ccc)()" (parenthesized_expression "(*(code *)PTR_is_common_shndx_004c1ccc)" ( (pointer_expression "*(code *)PTR_is_common_shndx_004c1ccc" * (cast_expression "(code *)PTR_is_common_shndx_004c1ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" identifier = (binary_expression "bVar5 ^ 1" identifier ^ number_literal)) ;) }))) }) (else_clause "else {\n          bVar5 = uVar25 != 0x8000;\n        }" else (compound_statement "{\n          bVar5 = uVar25 != 0x8000;\n        }" { (expression_statement "bVar5 = uVar25 != 0x8000;" (assignment_expression "bVar5 = uVar25 != 0x8000" identifier = (binary_expression "uVar25 != 0x8000" identifier != number_literal)) ;) }))) (if_statement "if (bVar5 == 0) {\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }" if (parenthesized_expression "(bVar5 == 0)" ( (binary_expression "bVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar3 = puVar24[2];\n          uVar25 = puVar24[3];\n          uVar19 = puVar24[4];\n          uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);\n          uVar9 = puVar24[5];\n          uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;\n          iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;\n          iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n          if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }\n        }" { (expression_statement "uVar3 = puVar24[2];" (assignment_expression "uVar3 = puVar24[2]" identifier = (subscript_expression "puVar24[2]" identifier [ number_literal ])) ;) (expression_statement "uVar25 = puVar24[3];" (assignment_expression "uVar25 = puVar24[3]" identifier = (subscript_expression "puVar24[3]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = puVar24[4];" (assignment_expression "uVar19 = puVar24[4]" identifier = (subscript_expression "puVar24[4]" identifier [ number_literal ])) ;) (expression_statement "uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8);" (assignment_expression "uVar26 = (*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8)" identifier = (binary_expression "(*(ushort *)((int)puVar24 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar24 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar24 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar24 + 6) & 0xff)" ( (binary_expression "*(ushort *)((int)puVar24 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar24 + 6)" * (cast_expression "(ushort *)((int)puVar24 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + 6)" ( (binary_expression "(int)puVar24 + 6" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)((int)puVar24 + 6) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)puVar24 + 6) >> 8)" ( (binary_expression "*(ushort *)((int)puVar24 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar24 + 6)" * (cast_expression "(ushort *)((int)puVar24 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + 6)" ( (binary_expression "(int)puVar24 + 6" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))))) ;) (expression_statement "uVar9 = puVar24[5];" (assignment_expression "uVar9 = puVar24[5]" identifier = (subscript_expression "puVar24[5]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar3 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10)" ( (binary_expression "(uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10" (binary_expression "(uVar3 >> 0x10) << 0x18" (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff)" ( (binary_expression "(uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff" (binary_expression "(uVar3 & 0xff) << 8" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar17 = (((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10)" ( (binary_expression "(uVar25 >> 0x10) << 0x18 | (uVar25 >> 0x18) << 0x10" (binary_expression "(uVar25 >> 0x10) << 0x18" (parenthesized_expression "(uVar25 >> 0x10)" ( (binary_expression "uVar25 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar25 >> 0x18) << 0x10" (parenthesized_expression "(uVar25 >> 0x18)" ( (binary_expression "uVar25 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff)" ( (binary_expression "(uVar25 & 0xff) << 8 | uVar25 >> 8 & 0xff" (binary_expression "(uVar25 & 0xff) << 8" (parenthesized_expression "(uVar25 & 0xff)" ( (binary_expression "uVar25 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar25 >> 8 & 0xff" (binary_expression "uVar25 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar27 = (((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10)" ( (binary_expression "(uVar19 >> 0x10) << 0x18 | (uVar19 >> 0x18) << 0x10" (binary_expression "(uVar19 >> 0x10) << 0x18" (parenthesized_expression "(uVar19 >> 0x10)" ( (binary_expression "uVar19 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar19 >> 0x18) << 0x10" (parenthesized_expression "(uVar19 >> 0x18)" ( (binary_expression "uVar19 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff)" ( (binary_expression "(uVar19 & 0xff) << 8 | uVar19 >> 8 & 0xff" (binary_expression "(uVar19 & 0xff) << 8" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar19 >> 8 & 0xff" (binary_expression "uVar19 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar18 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar26 == 0xfff1) {\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }\n          else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }" if (parenthesized_expression "(uVar26 == 0xfff1)" ( (binary_expression "uVar26 == 0xfff1" identifier == number_literal) )) (compound_statement "{\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);\n          }" { (expression_statement "(*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0);" (call_expression "(*(code *)PTR_define_as_constant_004c27d4)\n                      (symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0)" (parenthesized_expression "(*(code *)PTR_define_as_constant_004c27d4)" ( (pointer_expression "*(code *)PTR_define_as_constant_004c27d4" * (cast_expression "(code *)PTR_define_as_constant_004c27d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(symtab,pcVar22,0,6,iVar17,uVar3,iVar18,iVar27,uVar8,local_50,\n                       *(byte *)((int)puVar24 + 5) & 3,0,0,0)" ( identifier , identifier , number_literal , number_literal , identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "*(byte *)((int)puVar24 + 5) & 3" (pointer_expression "*(byte *)((int)puVar24 + 5)" * (cast_expression "(byte *)((int)puVar24 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + 5)" ( (binary_expression "(int)puVar24 + 5" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) , number_literal , number_literal , number_literal ))) ;) }) (else_clause "else {\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }" else (compound_statement "{\n            pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];\n            if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;\n            iVar12 = *(int *)&(pOVar16->super_Output_data).address_;\n            uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;\n            if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }\n            (*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);\n          }" { (expression_statement "pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26];" (subscript_expression "pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start[uVar26]" (field_expression "pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start" (field_expression "pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl" (binary_expression "pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold::Output_section*,_std" (assignment_expression "pOVar16 = (this->ibase_->section_map_).\n                      super__Vector_base<gold" identifier = (binary_expression "(this->ibase_->section_map_).\n                      super__Vector_base<gold" (field_expression "(this->ibase_->section_map_).\n                      super__Vector_base" (parenthesized_expression "(this->ibase_->section_map_)" ( (field_expression "this->ibase_->section_map_" (field_expression "this->ibase_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) ;) (if_statement "if ((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)) {\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }" if (parenthesized_expression "((pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15))" ( (binary_expression "(pOVar16 == (Output_section *)0x0) || (-1 < *(int *)&pOVar16->field_0x98 << 0x15)" (parenthesized_expression "(pOVar16 == (Output_section *)0x0)" ( (binary_expression "pOVar16 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(-1 < *(int *)&pOVar16->field_0x98 << 0x15)" ( (binary_expression "-1 < *(int *)&pOVar16->field_0x98 << 0x15" number_literal < (binary_expression "*(int *)&pOVar16->field_0x98 << 0x15" (pointer_expression "*(int *)&pOVar16->field_0x98" * (cast_expression "(int *)&pOVar16->field_0x98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar16->field_0x98" & (field_expression "pOVar16->field_0x98" identifier -> field_identifier)))) << number_literal)) ))) )) (compound_statement "{\n              iVar17 = 0x8ae;\n              goto LAB_0019c214;\n            }" { (expression_statement "iVar17 = 0x8ae;" (assignment_expression "iVar17 = 0x8ae" identifier = number_literal) ;) (goto_statement "goto LAB_0019c214;" goto statement_identifier ;) })) (if_statement "if (-1 < *(int *)&(pOVar16->super_Output_data).field_0x20) goto LAB_0019c238;" if (parenthesized_expression "(-1 < *(int *)&(pOVar16->super_Output_data).field_0x20)" ( (binary_expression "-1 < *(int *)&(pOVar16->super_Output_data).field_0x20" number_literal < (pointer_expression "*(int *)&(pOVar16->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar16->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar16->super_Output_data).field_0x20" & (field_expression "(pOVar16->super_Output_data).field_0x20" (parenthesized_expression "(pOVar16->super_Output_data)" ( (field_expression "pOVar16->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) )) (goto_statement "goto LAB_0019c238;" goto statement_identifier ;)) (expression_statement "iVar12 = *(int *)&(pOVar16->super_Output_data).address_;" (assignment_expression "iVar12 = *(int *)&(pOVar16->super_Output_data).address_" identifier = (pointer_expression "*(int *)&(pOVar16->super_Output_data).address_" * (cast_expression "(int *)&(pOVar16->super_Output_data).address_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar16->super_Output_data).address_" & (field_expression "(pOVar16->super_Output_data).address_" (parenthesized_expression "(pOVar16->super_Output_data)" ( (field_expression "pOVar16->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_;" (assignment_expression "uVar8 = uVar3 - (int)(pOVar16->super_Output_data).address_" identifier = (binary_expression "uVar3 - (int)(pOVar16->super_Output_data).address_" identifier - (cast_expression "(int)(pOVar16->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar16->super_Output_data).address_" (parenthesized_expression "(pOVar16->super_Output_data)" ( (field_expression "pOVar16->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) ;) (if_statement "if (iVar18 != 0 || iVar27 != 0) {\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }" if (parenthesized_expression "(iVar18 != 0 || iVar27 != 0)" ( (binary_expression "iVar18 != 0 || iVar27 != 0" (binary_expression "iVar18 != 0" identifier != number_literal) || (binary_expression "iVar27 != 0" identifier != number_literal)) )) (compound_statement "{\n              (*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);\n            }" { (expression_statement "(*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27);" (call_expression "(*(code *)PTR_reserve_004c3a5c)\n                        (pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27)" (parenthesized_expression "(*(code *)PTR_reserve_004c3a5c)" ( (pointer_expression "*(code *)PTR_reserve_004c3a5c" * (cast_expression "(code *)PTR_reserve_004c3a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar16,iVar12,(iVar17 - iVar12) - (uint)(uVar3 < uVar8),uVar8,iVar18,\n                         iVar27)" ( identifier , identifier , (binary_expression "(iVar17 - iVar12) - (uint)(uVar3 < uVar8)" (parenthesized_expression "(iVar17 - iVar12)" ( (binary_expression "iVar17 - iVar12" identifier - identifier) )) - (call_expression "(uint)(uVar3 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 < uVar8)" ( (binary_expression "uVar3 < uVar8" identifier < identifier) )))) , identifier , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(symtab,pcVar22,0,6,pOVar16)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" ( (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" * (cast_expression "(code *)PTR_define_in_output_data_004c1b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(symtab,pcVar22,0,6,pOVar16)" ( identifier , identifier , number_literal , number_literal , identifier ))) ;) }))) })) })) }))) (expression_statement "uVar8 = uVar23 + 1;" (assignment_expression "uVar8 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "pSVar15 = this->ibase_;" (assignment_expression "pSVar15 = this->ibase_" identifier = (field_expression "this->ibase_" identifier -> field_identifier)) ;) (expression_statement "ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;" (field_expression "ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start" (field_expression "ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar7 = (pSVar15->symbol_map_).\n              super__Vector_base<gold" identifier = (binary_expression "(pSVar15->symbol_map_).\n              super__Vector_base<gold" (field_expression "(pSVar15->symbol_map_).\n              super__Vector_base" (parenthesized_expression "(pSVar15->symbol_map_)" ( (field_expression "pSVar15->symbol_map_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n    _M_start[uVar23] = pSVar4;" (assignment_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n    _M_start[uVar23] = pSVar4" (subscript_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n    _M_start[uVar23]" (field_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n    _M_start" (field_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->symbols_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(this->symbols_).super__Vector_base<gold" (field_expression "(this->symbols_).super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = identifier) ;) (expression_statement "ppSVar7[(uVar10 - symtab_count) + iVar21] = pSVar4;" (assignment_expression "ppSVar7[(uVar10 - symtab_count) + iVar21] = pSVar4" (subscript_expression "ppSVar7[(uVar10 - symtab_count) + iVar21]" identifier [ (binary_expression "(uVar10 - symtab_count) + iVar21" (parenthesized_expression "(uVar10 - symtab_count)" ( (binary_expression "uVar10 - symtab_count" identifier - identifier) )) + identifier) ]) = identifier) ;) (expression_statement "uVar23 = uVar8;" (assignment_expression "uVar23 = uVar8" identifier = identifier) ;) (if_statement "if (uVar8 == uVar6) {\n      return;\n    }" if (parenthesized_expression "(uVar8 == uVar6)" ( (binary_expression "uVar8 == uVar6" identifier == identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) (ERROR "}" }))
(translation_unit "void FUN_0019bb14(int param_1,undefined4 param_2)\n\n{\n  uint *puVar1;\n  uint uVar2;\n  byte bVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint *puVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined4 local_80;\n  char local_7c;\n  undefined1 local_7b;\n  ushort local_7a;\n  uint local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  int local_68;\n  uint local_64;\n  uint local_60;\n  int local_5c;\n  undefined4 *local_58 [2];\n  int local_50;\n  uint local_4c;\n  undefined4 **local_48;\n  int local_44;\n  undefined *local_40;\n  int local_3c;\n  uint local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  local_58[0] = &local_80;\n  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;\n  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);\n  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n  if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }\n  local_44 = uVar6 - local_60;\n  local_48 = local_58;\n  uVar6 = 0;\n  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n  do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );\n}\n\n" (function_definition "void FUN_0019bb14(int param_1,undefined4 param_2)\n\n{\n  uint *puVar1;\n  uint uVar2;\n  byte bVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint *puVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined4 local_80;\n  char local_7c;\n  undefined1 local_7b;\n  ushort local_7a;\n  uint local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  int local_68;\n  uint local_64;\n  uint local_60;\n  int local_5c;\n  undefined4 *local_58 [2];\n  int local_50;\n  uint local_4c;\n  undefined4 **local_48;\n  int local_44;\n  undefined *local_40;\n  int local_3c;\n  uint local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  local_58[0] = &local_80;\n  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;\n  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);\n  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n  if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }\n  local_44 = uVar6 - local_60;\n  local_48 = local_58;\n  uVar6 = 0;\n  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n  do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_0019bb14(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  uint *puVar1;\n  uint uVar2;\n  byte bVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint *puVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined4 local_80;\n  char local_7c;\n  undefined1 local_7b;\n  ushort local_7a;\n  uint local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  int local_68;\n  uint local_64;\n  uint local_60;\n  int local_5c;\n  undefined4 *local_58 [2];\n  int local_50;\n  uint local_4c;\n  undefined4 **local_48;\n  int local_44;\n  undefined *local_40;\n  int local_3c;\n  uint local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  local_58[0] = &local_80;\n  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;\n  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);\n  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n  if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }\n  local_44 = uVar6 - local_60;\n  local_48 = local_58;\n  uVar6 = 0;\n  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n  do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "char local_7c;" primitive_type identifier ;) (declaration "undefined1 local_7b;" type_identifier identifier ;) (declaration "ushort local_7a;" type_identifier identifier ;) (declaration "uint local_78;" type_identifier identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "undefined4 *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "undefined4 **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "local_58[0] = &local_80;" (assignment_expression "local_58[0] = &local_80" (subscript_expression "local_58[0]" identifier [ number_literal ]) = (pointer_expression "&local_80" & identifier)) ;) (if_statement "if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }" if (parenthesized_expression "((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4))" ( (binary_expression "(1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)" (parenthesized_expression "(1 < *(byte *)(param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)(param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) - number_literal)) )) && (parenthesized_expression "(*(byte *)(param_1 + 0x9f) != 4)" ( (binary_expression "*(byte *)(param_1 + 0x9f) != 4" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }" { (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1d20" identifier + number_literal) ))) ;)) })) (expression_statement "uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;" (assignment_expression "uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2" identifier = (binary_expression "*(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2" (binary_expression "*(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc)" (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0xbc)" * (cast_expression "(int *)(param_1 + 0xbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbc)" ( (binary_expression "param_1 + 0xbc" identifier + number_literal) ))))) >> number_literal)) ;) (expression_statement "uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);" (assignment_expression "uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" identifier = (pointer_expression "*(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" * (cast_expression "(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" ( (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4" (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4)" (pointer_expression "**(int **)(param_1 + 0x98)" * (pointer_expression "*(int **)(param_1 + 0x98)" * (cast_expression "(int **)(param_1 + 0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }" if (parenthesized_expression "(uVar6 < local_4c)" ( (binary_expression "uVar6 < local_4c" identifier < identifier) )) (compound_statement "{\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }" { (expression_statement "(*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);" (call_expression "(*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6)" (parenthesized_expression "(*(code *)PTR__M_default_append_004c3664)" ( (pointer_expression "*(code *)PTR__M_default_append_004c3664" * (cast_expression "(code *)PTR__M_default_append_004c3664" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0xbc,local_4c - uVar6)" ( (binary_expression "param_1 + 0xbc" identifier + number_literal) , (binary_expression "local_4c - uVar6" identifier - identifier) ))) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (labeled_statement "gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" (comma_expression "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" false > (ERROR "::" : :) (call_expression "get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" identifier (argument_list "(*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" ( (pointer_expression "*(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" * (call_expression "(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (parenthesized_expression "(Sized_incremental_binary<64,false> **)" ( (comma_expression "Sized_incremental_binary<64,false> **" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) , (cast_expression "(View *)&local_5c" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_5c" & identifier)) , (pointer_expression "&local_60" & identifier) , (cast_expression "(Elf_strtab *)&local_68" ( (type_descriptor "Elf_strtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_68" & identifier)) ))))) ;)) (expression_statement "iVar7 = *(int *)(param_1 + 0x90);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x90)" identifier = (pointer_expression "*(int *)(param_1 + 0x90)" * (cast_expression "(int *)(param_1 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar7 + 0xc0);" (assignment_expression "iVar4 = *(int *)(iVar7 + 0xc0)" identifier = (pointer_expression "*(int *)(iVar7 + 0xc0)" * (cast_expression "(int *)(iVar7 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc0)" ( (binary_expression "iVar7 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(iVar7 + 0xc4);" (assignment_expression "uVar6 = *(uint *)(iVar7 + 0xc4)" identifier = (pointer_expression "*(uint *)(iVar7 + 0xc4)" * (cast_expression "(uint *)(iVar7 + 0xc4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc4)" ( (binary_expression "iVar7 + 0xc4" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }" { (expression_statement "uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;" (assignment_expression "uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2" identifier = (binary_expression "((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2" (binary_expression "((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000" (parenthesized_expression "((uint)(uVar6 + 3 < uVar6) + iVar4)" ( (binary_expression "(uint)(uVar6 + 3 < uVar6) + iVar4" (call_expression "(uint)(uVar6 + 3 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 + 3 < uVar6)" ( (binary_expression "uVar6 + 3 < uVar6" (binary_expression "uVar6 + 3" identifier + number_literal) < identifier) ))) + identifier) )) * number_literal) | (binary_expression "uVar6 + 3 >> 2" (binary_expression "uVar6 + 3" identifier + number_literal) >> number_literal))) ;) }) (else_clause "else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }" else (compound_statement "{\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }" { (expression_statement "uVar6 = iVar4 << 0x1e | uVar6 >> 2;" (assignment_expression "uVar6 = iVar4 << 0x1e | uVar6 >> 2" identifier = (binary_expression "iVar4 << 0x1e | uVar6 >> 2" (binary_expression "iVar4 << 0x1e" identifier << number_literal) | (binary_expression "uVar6 >> 2" identifier >> number_literal))) ;) }))) }) (else_clause "else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }" else (compound_statement "{\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }" { (if_statement "if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }" if (parenthesized_expression "((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4))" ( (binary_expression "(local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)" (parenthesized_expression "(local_4c < uVar6)" ( (binary_expression "local_4c < uVar6" identifier < identifier) )) && (parenthesized_expression "(iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)" ( (comma_expression "iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4" (assignment_expression "iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4" identifier = (binary_expression "*(int *)(param_1 + 0xbc) + local_4c * 4" (pointer_expression "*(int *)(param_1 + 0xbc)" * (cast_expression "(int *)(param_1 + 0xbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbc)" ( (binary_expression "param_1 + 0xbc" identifier + number_literal) )))) + (binary_expression "local_4c * 4" identifier * number_literal))) , (binary_expression "*(int *)(param_1 + 0xc0) != iVar4" (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) != identifier)) ))) )) (compound_statement "{\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }" { (expression_statement "*(int *)(param_1 + 0xc0) = iVar4;" (assignment_expression "*(int *)(param_1 + 0xc0) = iVar4" (pointer_expression "*(int *)(param_1 + 0xc0)" * (cast_expression "(int *)(param_1 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (labeled_statement "gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" (comma_expression "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" false > (ERROR "::" : :) (call_expression "get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" identifier (argument_list "(*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" ( (pointer_expression "*(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" * (call_expression "(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (parenthesized_expression "(Sized_incremental_binary<64,false> **)" ( (comma_expression "Sized_incremental_binary<64,false> **" (binary_expression "Sized_incremental_binary<64" identifier < number_literal) , (binary_expression "false> **" false > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) , (cast_expression "(View *)&local_5c" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_5c" & identifier)) , (pointer_expression "&local_60" & identifier) , (cast_expression "(Elf_strtab *)&local_68" ( (type_descriptor "Elf_strtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_68" & identifier)) ))))) ;)) (expression_statement "iVar7 = *(int *)(param_1 + 0x90);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x90)" identifier = (pointer_expression "*(int *)(param_1 + 0x90)" * (cast_expression "(int *)(param_1 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar7 + 0xc0);" (assignment_expression "iVar4 = *(int *)(iVar7 + 0xc0)" identifier = (pointer_expression "*(int *)(iVar7 + 0xc0)" * (cast_expression "(int *)(iVar7 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc0)" ( (binary_expression "iVar7 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(iVar7 + 0xc4);" (assignment_expression "uVar15 = *(uint *)(iVar7 + 0xc4)" identifier = (pointer_expression "*(uint *)(iVar7 + 0xc4)" * (cast_expression "(uint *)(iVar7 + 0xc4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc4)" ( (binary_expression "iVar7 + 0xc4" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = uVar15;" (assignment_expression "uVar6 = uVar15" identifier = identifier) ;) (if_statement "if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }" { (expression_statement "uVar6 = uVar15 + 3;" (assignment_expression "uVar6 = uVar15 + 3" identifier = (binary_expression "uVar15 + 3" identifier + number_literal)) ;) (expression_statement "iVar4 = (uint)(uVar6 < uVar15) + iVar4;" (assignment_expression "iVar4 = (uint)(uVar6 < uVar15) + iVar4" identifier = (binary_expression "(uint)(uVar6 < uVar15) + iVar4" (call_expression "(uint)(uVar6 < uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 < uVar15)" ( (binary_expression "uVar6 < uVar15" identifier < identifier) ))) + identifier)) ;) })) (expression_statement "uVar6 = iVar4 << 0x1e | uVar6 >> 2;" (assignment_expression "uVar6 = iVar4 << 0x1e | uVar6 >> 2" identifier = (binary_expression "iVar4 << 0x1e | uVar6 >> 2" (binary_expression "iVar4 << 0x1e" identifier << number_literal) | (binary_expression "uVar6 >> 2" identifier >> number_literal))) ;) (if_statement "if (local_4c == 0) {\n      return;\n    }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }))) (expression_statement "local_44 = uVar6 - local_60;" (assignment_expression "local_44 = uVar6 - local_60" identifier = (binary_expression "uVar6 - local_60" identifier - identifier)) ;) (expression_statement "local_48 = local_58;" (assignment_expression "local_48 = local_58" identifier = identifier) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (expression_statement "local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;" (assignment_expression "local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6db8" identifier + number_literal)) ;) (do_statement "do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );" do (compound_statement "{\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  }" { (if_statement "if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }" if (parenthesized_expression "(1 < *(byte *)(param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)(param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" * (cast_expression "(byte *)(param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9f)" ( (binary_expression "param_1 + 0x9f" identifier + number_literal) )))) - number_literal)) )) (compound_statement "{\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }" { (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4)" ( (binary_expression "PTR_s__s_004c1a50 + 0xefc" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x1bd4" identifier + number_literal) ))) ;)) })) (expression_statement "iVar17 = uVar6 * 4;" (assignment_expression "iVar17 = uVar6 * 4" identifier = (binary_expression "uVar6 * 4" identifier * number_literal)) ;) (expression_statement "iVar4 = **(int **)(param_1 + 0x98);" (assignment_expression "iVar4 = **(int **)(param_1 + 0x98)" identifier = (pointer_expression "**(int **)(param_1 + 0x98)" * (pointer_expression "*(int **)(param_1 + 0x98)" * (cast_expression "(int **)(param_1 + 0x98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) )))))) ;) (expression_statement "iVar8 = *(int *)(param_1 + 0xa4) + 0x20;" (assignment_expression "iVar8 = *(int *)(param_1 + 0xa4) + 0x20" identifier = (binary_expression "*(int *)(param_1 + 0xa4) + 0x20" (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));" (assignment_expression "uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4))" identifier = (pointer_expression "*(uint *)(iVar4 + *(int *)(param_1 + 0xa4))" * (cast_expression "(uint *)(iVar4 + *(int *)(param_1 + 0xa4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(param_1 + 0xa4))" ( (binary_expression "iVar4 + *(int *)(param_1 + 0xa4)" identifier + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) ))))) ;) (expression_statement "puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);" (assignment_expression "puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18)" identifier = (cast_expression "(uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18)" ( (binary_expression "iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18" (binary_expression "iVar4 + uVar6 * 0x14 + iVar8" (binary_expression "iVar4 + uVar6 * 0x14" identifier + (binary_expression "uVar6 * 0x14" identifier * number_literal)) + identifier) + (binary_expression "((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18" (parenthesized_expression "((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )) * number_literal)) )))) ;) (expression_statement "uVar15 = *puVar1;" (assignment_expression "uVar15 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar16 = (uint *)(local_5c + iVar13 * 0x18);" (assignment_expression "puVar16 = (uint *)(local_5c + iVar13 * 0x18)" identifier = (cast_expression "(uint *)(local_5c + iVar13 * 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_5c + iVar13 * 0x18)" ( (binary_expression "local_5c + iVar13 * 0x18" identifier + (binary_expression "iVar13 * 0x18" identifier * number_literal)) )))) ;) (expression_statement "uVar15 = *puVar16;" (assignment_expression "uVar15 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar14 = local_40;" (assignment_expression "puVar14 = local_40" identifier = identifier) ;) (if_statement "if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }" if (parenthesized_expression "(uVar15 < local_64)" ( (binary_expression "uVar15 < local_64" identifier < identifier) )) (compound_statement "{\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }" { (expression_statement "puVar14 = (undefined *)(local_68 + uVar15);" (assignment_expression "puVar14 = (undefined *)(local_68 + uVar15)" identifier = (cast_expression "(undefined *)(local_68 + uVar15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_68 + uVar15)" ( (binary_expression "local_68 + uVar15" identifier + identifier) )))) ;) })) (expression_statement "local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;" (assignment_expression "local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4" identifier = (binary_expression "(int)(uint)*(byte *)(puVar16 + 1) >> 4" (binary_expression "(int)(uint)*(byte *)(puVar16 + 1)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(puVar16 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 1)" ( (binary_expression "puVar16 + 1" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "uVar15 = *(byte *)(puVar16 + 1) & 0xf;" (assignment_expression "uVar15 = *(byte *)(puVar16 + 1) & 0xf" identifier = (binary_expression "*(byte *)(puVar16 + 1) & 0xf" (pointer_expression "*(byte *)(puVar16 + 1)" * (cast_expression "(byte *)(puVar16 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 1)" ( (binary_expression "puVar16 + 1" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }" { (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar18 = uVar19 - 1;" (assignment_expression "uVar18 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (if_statement "if (0xfffffffd < uVar18) goto LAB_0019bf08;" if (parenthesized_expression "(0xfffffffd < uVar18)" ( (binary_expression "0xfffffffd < uVar18" number_literal < identifier) )) (goto_statement "goto LAB_0019bf08;" goto statement_identifier ;)) (labeled_statement "LAB_0019bd28:\n      uVar2 = puVar16[2];" statement_identifier : (expression_statement "uVar2 = puVar16[2];" (assignment_expression "uVar2 = puVar16[2]" identifier = (subscript_expression "puVar16[2]" identifier [ number_literal ])) ;)) (expression_statement "uVar5 = puVar16[3];" (assignment_expression "uVar5 = puVar16[3]" identifier = (subscript_expression "puVar16[3]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);" (assignment_expression "uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" identifier = (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar16 + 6) & 0xff)" ( (binary_expression "*(ushort *)((int)puVar16 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar16 + 6)" * (cast_expression "(ushort *)((int)puVar16 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 6)" ( (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)puVar16 + 6) >> 8)" ( (binary_expression "*(ushort *)((int)puVar16 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar16 + 6)" * (cast_expression "(ushort *)((int)puVar16 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 6)" ( (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))))) ;) (expression_statement "iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar9 = (((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 "uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" if (parenthesized_expression "(uVar10 == 0xfff1)" ( (binary_expression "uVar10 == 0xfff1" identifier == number_literal) )) (compound_statement "{\n        local_7a = 0xf1ff;\n      }" { (expression_statement "local_7a = 0xf1ff;" (assignment_expression "local_7a = 0xf1ff" identifier = number_literal) ;) }) (else_clause "else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" else (compound_statement "{\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" { (if_statement "if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }" { (expression_statement "iVar4 = 0x884;" (assignment_expression "iVar4 = 0x884" identifier = number_literal) ;) (labeled_statement "LAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);" statement_identifier : (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0)" identifier (argument_list "(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0)" ( (binary_expression "PTR_s__s_004c1a50 + 0xee0" identifier + number_literal) , identifier , (binary_expression "PTR_s__s_004c1a50 + 0x1bf0" identifier + number_literal) ))) ;))) })) (expression_statement "iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);" (assignment_expression "iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" * (cast_expression "(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" ( (binary_expression "*(int *)(iVar7 + 0x5c) + uVar10 * 4" (pointer_expression "*(int *)(iVar7 + 0x5c)" * (cast_expression "(int *)(iVar7 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5c)" ( (binary_expression "iVar7 + 0x5c" identifier + number_literal) )))) + (binary_expression "uVar10 * 4" identifier * number_literal)) ))))) ;) (if_statement "if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }" if (parenthesized_expression "((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15))" ( (binary_expression "(iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x98) << 0x15)" ( (binary_expression "-1 < *(int *)(iVar7 + 0x98) << 0x15" number_literal < (binary_expression "*(int *)(iVar7 + 0x98) << 0x15" (pointer_expression "*(int *)(iVar7 + 0x98)" * (cast_expression "(int *)(iVar7 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x98)" ( (binary_expression "iVar7 + 0x98" identifier + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }" { (expression_statement "iVar4 = 0x886;" (assignment_expression "iVar4 = 0x886" identifier = number_literal) ;) (goto_statement "goto LAB_0019c214;" goto statement_identifier ;) })) (expression_statement "iVar4 = iVar4 + uVar18 * 0x18 + iVar8;" (assignment_expression "iVar4 = iVar4 + uVar18 * 0x18 + iVar8" identifier = (binary_expression "iVar4 + uVar18 * 0x18 + iVar8" (binary_expression "iVar4 + uVar18 * 0x18" identifier + (binary_expression "uVar18 * 0x18" identifier * number_literal)) + identifier)) ;) (expression_statement "uVar5 = *(uint *)(iVar4 + 4);" (assignment_expression "uVar5 = *(uint *)(iVar4 + 4)" identifier = (pointer_expression "*(uint *)(iVar4 + 4)" * (cast_expression "(uint *)(iVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(uint *)(iVar4 + 8);" (assignment_expression "uVar18 = *(uint *)(iVar4 + 8)" identifier = (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar2 = *(uint *)(iVar4 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar4 + 0xc)" * (cast_expression "(uint *)(iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }" if (parenthesized_expression "(uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000)" ( (binary_expression "uVar10 != (((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))) )) (compound_statement "{\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }" { (expression_statement "iVar4 = 0x889;" (assignment_expression "iVar4 = 0x889" identifier = number_literal) ;) (goto_statement "goto LAB_0019c214;" goto statement_identifier ;) })) (expression_statement "uVar5 = uVar11;" (assignment_expression "uVar5 = uVar11" identifier = identifier) ;) (if_statement "if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }" if (parenthesized_expression "(uVar15 != 6)" ( (binary_expression "uVar15 != 6" identifier != number_literal) )) (compound_statement "{\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }" { (if_statement "if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }" if (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x20))" ( (binary_expression "-1 < *(int *)(iVar7 + 0x20)" number_literal < (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }" { (labeled_statement "LAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);" statement_identifier : (labeled_statement "gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);" (call_expression "do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x25d8" identifier + number_literal) ))) ;))) })) (expression_statement "uVar5 = uVar11 - *(int *)(iVar7 + 0xc);" (assignment_expression "uVar5 = uVar11 - *(int *)(iVar7 + 0xc)" identifier = (binary_expression "uVar11 - *(int *)(iVar7 + 0xc)" identifier - (pointer_expression "*(int *)(iVar7 + 0xc)" * (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);" (assignment_expression "iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5)" identifier = (binary_expression "(iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5)" (parenthesized_expression "(iVar9 - *(int *)(iVar7 + 8))" ( (binary_expression "iVar9 - *(int *)(iVar7 + 8)" identifier - (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) )) - (call_expression "(uint)(uVar11 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar5)" ( (binary_expression "uVar11 < uVar5" identifier < identifier) ))))) ;) })) (expression_statement "uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);" (assignment_expression "uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000)" identifier = (binary_expression "uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000)" identifier - (parenthesized_expression "((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (expression_statement "uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);" (assignment_expression "uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18)" identifier = (binary_expression "(iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18)" (parenthesized_expression "(iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000))" ( (binary_expression "iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)" identifier - (parenthesized_expression "((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) ))) )) - (call_expression "(uint)(uVar5 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 < uVar18)" ( (binary_expression "uVar5 < uVar18" identifier < identifier) ))))) ;) (expression_statement "local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;" (assignment_expression "local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff" identifier = (binary_expression "(ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff" (call_expression "(ushort)((uVar19 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar19 & 0xff) << 8)" ( (binary_expression "(uVar19 & 0xff) << 8" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar19 >> 8) & 0xff" (call_expression "(ushort)(uVar19 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar19 >> 8)" ( (binary_expression "uVar19 >> 8" identifier >> number_literal) ))) & number_literal))) ;) (expression_statement "uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar5 = (((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 "local_6c = puVar16[5];" (assignment_expression "local_6c = puVar16[5]" identifier = (subscript_expression "puVar16[5]" identifier [ number_literal ])) ;) (expression_statement "local_7c = (char)uVar15 + (char)local_50 * '\x10';" (assignment_expression "local_7c = (char)uVar15 + (char)local_50 * '\x10'" identifier = (binary_expression "(char)uVar15 + (char)local_50 * '\x10'" (cast_expression "(char)uVar15" ( (type_descriptor "char" primitive_type) ) identifier) + (binary_expression "(char)local_50 * '\x10'" (cast_expression "(char)local_50" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\x10'" ' escape_sequence ')))) ;) (expression_statement "local_70 = puVar16[4];" (assignment_expression "local_70 = puVar16[4]" identifier = (subscript_expression "puVar16[4]" identifier [ number_literal ])) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7b = *(undefined1 *)((int)puVar16 + 5);" (assignment_expression "local_7b = *(undefined1 *)((int)puVar16 + 5)" identifier = (pointer_expression "*(undefined1 *)((int)puVar16 + 5)" * (cast_expression "(undefined1 *)((int)puVar16 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 5)" ( (binary_expression "(int)puVar16 + 5" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_78 = uVar2;" (assignment_expression "local_78 = uVar2" identifier = identifier) ;) (expression_statement "local_74 = uVar5;" (assignment_expression "local_74 = uVar5" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;" (assignment_expression "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" identifier = (call_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" (parenthesized_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)" ( (comma_expression "*(code *)PTR_add_from_incrobj<64,false>_004c3ae4" (binary_expression "*(code *)PTR_add_from_incrobj<64" (pointer_expression "*(code *)PTR_add_from_incrobj" * (cast_expression "(code *)PTR_add_from_incrobj" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) , (binary_expression "false>_004c3ae4" false > identifier)) )) (argument_list "(param_2,param_1,puVar14,0,local_48)" ( identifier , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "*(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;" (assignment_expression "*(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1" (pointer_expression "*(int *)(param_1 + 200)" * (cast_expression "(int *)(param_1 + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 200)" ( (binary_expression "param_1 + 200" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 200) + 1" (pointer_expression "*(int *)(param_1 + 200)" * (cast_expression "(int *)(param_1 + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 200)" ( (binary_expression "param_1 + 200" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }" { (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar18 = uVar19 - 1;" (assignment_expression "uVar18 = uVar19 - 1" identifier = (binary_expression "uVar19 - 1" identifier - number_literal)) ;) (if_statement "if (uVar18 < 0xfffffffe) goto LAB_0019bd28;" if (parenthesized_expression "(uVar18 < 0xfffffffe)" ( (binary_expression "uVar18 < 0xfffffffe" identifier < number_literal) )) (goto_statement "goto LAB_0019bd28;" goto statement_identifier ;)) (labeled_statement "LAB_0019bf08:\n      local_6c = puVar16[5];" statement_identifier : (expression_statement "local_6c = puVar16[5];" (assignment_expression "local_6c = puVar16[5]" identifier = (subscript_expression "puVar16[5]" identifier [ number_literal ])) ;)) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_70 = puVar16[4];" (assignment_expression "local_70 = puVar16[4]" identifier = (subscript_expression "puVar16[4]" identifier [ number_literal ])) ;) (expression_statement "local_7c = (char)uVar15 + (char)local_50 * '\x10';" (assignment_expression "local_7c = (char)uVar15 + (char)local_50 * '\x10'" identifier = (binary_expression "(char)uVar15 + (char)local_50 * '\x10'" (cast_expression "(char)uVar15" ( (type_descriptor "char" primitive_type) ) identifier) + (binary_expression "(char)local_50 * '\x10'" (cast_expression "(char)local_50" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\x10'" ' escape_sequence ')))) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7b = *(undefined1 *)((int)puVar16 + 5);" (assignment_expression "local_7b = *(undefined1 *)((int)puVar16 + 5)" identifier = (pointer_expression "*(undefined1 *)((int)puVar16 + 5)" * (cast_expression "(undefined1 *)((int)puVar16 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 5)" ( (binary_expression "(int)puVar16 + 5" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_7a = 0;" (assignment_expression "local_7a = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;" (assignment_expression "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" identifier = (call_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" (parenthesized_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)" ( (comma_expression "*(code *)PTR_add_from_incrobj<64,false>_004c3ae4" (binary_expression "*(code *)PTR_add_from_incrobj<64" (pointer_expression "*(code *)PTR_add_from_incrobj" * (cast_expression "(code *)PTR_add_from_incrobj" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < number_literal) , (binary_expression "false>_004c3ae4" false > identifier)) )) (argument_list "(param_2,param_1,puVar14,0,local_48)" ( identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }" if (parenthesized_expression "(uVar19 == 0xffffffff)" ( (binary_expression "uVar19 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }" { (expression_statement "uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;" (assignment_expression "uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000" identifier = (binary_expression "*(uint *)(iVar4 + 0x28) & 0xe000" (pointer_expression "*(uint *)(iVar4 + 0x28)" * (cast_expression "(uint *)(iVar4 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }" { (if_statement "if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }" if (parenthesized_expression "((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0)" ( (binary_expression "(int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0" (cast_expression "(int)(*(uint *)(iVar4 + 0x28) << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)(iVar4 + 0x28) << 0x1d)" ( (binary_expression "*(uint *)(iVar4 + 0x28) << 0x1d" (pointer_expression "*(uint *)(iVar4 + 0x28)" * (cast_expression "(uint *)(iVar4 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) << number_literal) ))) < number_literal) )) (compound_statement "{\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }" { (expression_statement "bVar3 = *(int *)(iVar4 + 0xc) != 0;" (assignment_expression "bVar3 = *(int *)(iVar4 + 0xc) != 0" identifier = (binary_expression "*(int *)(iVar4 + 0xc) != 0" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) != number_literal)) ;) }) (else_clause "else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }" else (compound_statement "{\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }" { (expression_statement "local_3c = iVar4;" (assignment_expression "local_3c = iVar4" identifier = identifier) ;) (expression_statement "bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();" (assignment_expression "bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)()" identifier = (call_expression "(*(code *)PTR_is_common_shndx_004c1ccc)()" (parenthesized_expression "(*(code *)PTR_is_common_shndx_004c1ccc)" ( (pointer_expression "*(code *)PTR_is_common_shndx_004c1ccc" * (cast_expression "(code *)PTR_is_common_shndx_004c1ccc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "bVar3 = bVar3 ^ 1;" (assignment_expression "bVar3 = bVar3 ^ 1" identifier = (binary_expression "bVar3 ^ 1" identifier ^ number_literal)) ;) (expression_statement "iVar4 = local_3c;" (assignment_expression "iVar4 = local_3c" identifier = identifier) ;) }))) }) (else_clause "else {\n          bVar3 = uVar18 != 0x8000;\n        }" else (compound_statement "{\n          bVar3 = uVar18 != 0x8000;\n        }" { (expression_statement "bVar3 = uVar18 != 0x8000;" (assignment_expression "bVar3 = uVar18 != 0x8000" identifier = (binary_expression "uVar18 != 0x8000" identifier != number_literal)) ;) }))) (if_statement "if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }" { (expression_statement "uVar2 = puVar16[2];" (assignment_expression "uVar2 = puVar16[2]" identifier = (subscript_expression "puVar16[2]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = puVar16[3];" (assignment_expression "uVar18 = puVar16[3]" identifier = (subscript_expression "puVar16[3]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = puVar16[4];" (assignment_expression "uVar10 = puVar16[4]" identifier = (subscript_expression "puVar16[4]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);" (assignment_expression "uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" identifier = (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar16 + 6) & 0xff)" ( (binary_expression "*(ushort *)((int)puVar16 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar16 + 6)" * (cast_expression "(ushort *)((int)puVar16 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 6)" ( (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)puVar16 + 6) >> 8)" ( (binary_expression "*(ushort *)((int)puVar16 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar16 + 6)" * (cast_expression "(ushort *)((int)puVar16 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 6)" ( (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) ))))) ;) (expression_statement "uVar5 = puVar16[5];" (assignment_expression "uVar5 = puVar16[5]" identifier = (subscript_expression "puVar16[5]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" ( (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" ( (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" ( (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" ( (binary_expression "uVar18 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" ( (binary_expression "uVar18 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" ( (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" ( (binary_expression "uVar18 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10)" ( (binary_expression "(uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10" (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar10 >> 0x18) << 0x10" (parenthesized_expression "(uVar10 >> 0x18)" ( (binary_expression "uVar10 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff)" ( (binary_expression "(uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff" (binary_expression "(uVar10 & 0xff) << 8" (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar10 >> 8 & 0xff" (binary_expression "uVar10 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar8 = (((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))) ;) (if_statement "if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }" if (parenthesized_expression "(uVar19 == 0xfff1)" ( (binary_expression "uVar19 == 0xfff1" identifier == number_literal) )) (compound_statement "{\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }" { (expression_statement "local_3c = iVar4;" (assignment_expression "local_3c = iVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);" (call_expression "(*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0)" (parenthesized_expression "(*(code *)PTR_define_as_constant_004c27d4)" ( (pointer_expression "*(code *)PTR_define_as_constant_004c27d4" * (cast_expression "(code *)PTR_define_as_constant_004c27d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0)" ( identifier , identifier , number_literal , number_literal , identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "*(byte *)((int)puVar16 + 5) & 3" (pointer_expression "*(byte *)((int)puVar16 + 5)" * (cast_expression "(byte *)((int)puVar16 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 5)" ( (binary_expression "(int)puVar16 + 5" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar4 = local_3c;" (assignment_expression "iVar4 = local_3c" identifier = identifier) ;) }) (else_clause "else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }" else (compound_statement "{\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }" { (expression_statement "iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);" (assignment_expression "iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" * (cast_expression "(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x90) + 0x5c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x90) + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x90) + 0x5c)" ( (binary_expression "*(int *)(param_1 + 0x90) + 0x5c" (pointer_expression "*(int *)(param_1 + 0x90)" * (cast_expression "(int *)(param_1 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (if_statement "if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }" if (parenthesized_expression "((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15))" ( (binary_expression "(iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)" (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(-1 < *(int *)(iVar12 + 0x98) << 0x15)" ( (binary_expression "-1 < *(int *)(iVar12 + 0x98) << 0x15" number_literal < (binary_expression "*(int *)(iVar12 + 0x98) << 0x15" (pointer_expression "*(int *)(iVar12 + 0x98)" * (cast_expression "(int *)(iVar12 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x98)" ( (binary_expression "iVar12 + 0x98" identifier + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }" { (expression_statement "iVar4 = 0x8ae;" (assignment_expression "iVar4 = 0x8ae" identifier = number_literal) ;) (goto_statement "goto LAB_0019c214;" goto statement_identifier ;) })) (if_statement "if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;" if (parenthesized_expression "(-1 < *(int *)(iVar12 + 0x20))" ( (binary_expression "-1 < *(int *)(iVar12 + 0x20)" number_literal < (pointer_expression "*(int *)(iVar12 + 0x20)" * (cast_expression "(int *)(iVar12 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0019c238;" goto statement_identifier ;)) (expression_statement "uVar15 = uVar2 - *(int *)(iVar12 + 0xc);" (assignment_expression "uVar15 = uVar2 - *(int *)(iVar12 + 0xc)" identifier = (binary_expression "uVar2 - *(int *)(iVar12 + 0xc)" identifier - (pointer_expression "*(int *)(iVar12 + 0xc)" * (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);" (assignment_expression "iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15)" identifier = (binary_expression "(iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15)" (parenthesized_expression "(iVar7 - *(int *)(iVar12 + 8))" ( (binary_expression "iVar7 - *(int *)(iVar12 + 8)" identifier - (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) )) - (call_expression "(uint)(uVar2 < uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar2 < uVar15)" ( (binary_expression "uVar2 < uVar15" identifier < identifier) ))))) ;) (expression_statement "local_3c = iVar12;" (assignment_expression "local_3c = iVar12" identifier = identifier) ;) (if_statement "if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }" if (parenthesized_expression "(iVar8 != 0 || iVar9 != 0)" ( (binary_expression "iVar8 != 0 || iVar9 != 0" (binary_expression "iVar8 != 0" identifier != number_literal) || (binary_expression "iVar9 != 0" identifier != number_literal)) )) (compound_statement "{\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }" { (expression_statement "local_38 = uVar15;" (assignment_expression "local_38 = uVar15" identifier = identifier) ;) (expression_statement "local_34 = iVar8;" (assignment_expression "local_34 = iVar8" identifier = identifier) ;) (expression_statement "local_30 = iVar7;" (assignment_expression "local_30 = iVar7" identifier = identifier) ;) (expression_statement "local_2c = iVar4;" (assignment_expression "local_2c = iVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);" (call_expression "(*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9)" (parenthesized_expression "(*(code *)PTR_reserve_004c3a5c)" ( (pointer_expression "*(code *)PTR_reserve_004c3a5c" * (cast_expression "(code *)PTR_reserve_004c3a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9)" ( identifier , (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = local_2c;" (assignment_expression "iVar4 = local_2c" identifier = identifier) ;) })) (expression_statement "iVar7 = local_3c;" (assignment_expression "iVar7 = local_3c" identifier = identifier) ;) (expression_statement "local_3c = iVar4;" (assignment_expression "local_3c = iVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" ( (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" * (cast_expression "(code *)PTR_define_in_output_data_004c1b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,puVar14,0,6,iVar7)" ( identifier , identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "iVar4 = local_3c;" (assignment_expression "iVar4 = local_3c" identifier = identifier) ;) }))) })) })) }))) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0x90);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x90)" identifier = (pointer_expression "*(int *)(param_1 + 0x90)" * (cast_expression "(int *)(param_1 + 0x90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar7 + 0x68);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x68)" identifier = (pointer_expression "*(int *)(iVar7 + 0x68)" * (cast_expression "(int *)(iVar7 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x68)" ( (binary_expression "iVar7 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;" (assignment_expression "*(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4" (pointer_expression "*(int *)(*(int *)(param_1 + 0xbc) + iVar17)" * (cast_expression "(int *)(*(int *)(param_1 + 0xbc) + iVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0xbc) + iVar17)" ( (binary_expression "*(int *)(param_1 + 0xbc) + iVar17" (pointer_expression "*(int *)(param_1 + 0xbc)" * (cast_expression "(int *)(param_1 + 0xbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xbc)" ( (binary_expression "param_1 + 0xbc" identifier + number_literal) )))) + identifier) )))) = identifier) ;) (expression_statement "*(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;" (assignment_expression "*(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4" (pointer_expression "*(int *)(iVar8 + (local_44 + iVar13) * 4)" * (cast_expression "(int *)(iVar8 + (local_44 + iVar13) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + (local_44 + iVar13) * 4)" ( (binary_expression "iVar8 + (local_44 + iVar13) * 4" identifier + (binary_expression "(local_44 + iVar13) * 4" (parenthesized_expression "(local_44 + iVar13)" ( (binary_expression "local_44 + iVar13" identifier + identifier) )) * number_literal)) )))) = identifier) ;) (if_statement "if (uVar6 == local_4c) {\n      return;\n    }" if (parenthesized_expression "(uVar6 == local_4c)" ( (binary_expression "uVar6 == local_4c" identifier == identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT)) )) && (parenthesized_expression ( (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 : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) })) (expression_statement (assignment_expression IDENT = (binary_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) ))))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) ))))) + LIT) ))))) ;) (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))) ;) (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) , (binary_expression IDENT - IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (ERROR : :) (call_expression IDENT (argument_list ( (pointer_expression * (call_expression (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + LIT) < IDENT) ))) + IDENT) )) * LIT) | (binary_expression (binary_expression IDENT + LIT) >> LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (ERROR : :) (call_expression IDENT (argument_list ( (pointer_expression * (call_expression (parenthesized_expression ( (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (pointer_expression * (pointer_expression * IDENT)))) )) (argument_list ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT)) )) (compound_statement { (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + IDENT) + (binary_expression (parenthesized_expression ( (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)) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression 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 = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) << LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) ))))) ;) (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 = (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))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;))) })) (expression_statement (assignment_expression IDENT = (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) )))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (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))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 { (labeled_statement statement_identifier : (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;))) })) (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 (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (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 (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (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)) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) ))) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT))) ;) (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 = (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (char_literal ' escape_sequence ')))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (comma_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < LIT) , (binary_expression BOOL > IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = (binary_expression 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 = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (char_literal ' escape_sequence ')))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (comma_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < LIT) , (binary_expression BOOL > IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) << LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = (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 (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 (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))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , LIT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (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) ))))) )) (goto_statement goto statement_identifier ;)) (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 (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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) )))) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_0019bb14(int param_1,undefined4 param_2)\n\n{\n  uint *puVar1;\n  uint uVar2;\n  byte bVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint *puVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined4 local_80;\n  char local_7c;\n  undefined1 local_7b;\n  ushort local_7a;\n  uint local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  int local_68;\n  uint local_64;\n  uint local_60;\n  int local_5c;\n  undefined4 *local_58 [2];\n  int local_50;\n  uint local_4c;\n  undefined4 **local_48;\n  int local_44;\n  undefined *local_40;\n  int local_3c;\n  uint local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  local_58[0] = &local_80;\n  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;\n  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);\n  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n  if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }\n  local_44 = uVar6 - local_60;\n  local_48 = local_58;\n  uVar6 = 0;\n  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n  do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_0019bb14(int param_1,undefined4 param_2)" (identifier "FUN_0019bb14") (parameter_list "(int param_1,undefined4 param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint *puVar1;\n  uint uVar2;\n  byte bVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint *puVar16;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined4 local_80;\n  char local_7c;\n  undefined1 local_7b;\n  ushort local_7a;\n  uint local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  int local_68;\n  uint local_64;\n  uint local_60;\n  int local_5c;\n  undefined4 *local_58 [2];\n  int local_50;\n  uint local_4c;\n  undefined4 **local_48;\n  int local_44;\n  undefined *local_40;\n  int local_3c;\n  uint local_38;\n  int local_34;\n  int local_30;\n  int local_2c;\n  \n  local_58[0] = &local_80;\n  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;\n  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);\n  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n  if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }\n  local_44 = uVar6 - local_60;\n  local_48 = local_58;\n  uVar6 = 0;\n  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;\n  do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint *puVar16;" (type_identifier "uint") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "undefined4 local_80;" (type_identifier "undefined4") (identifier "local_80") (; ";")) (declaration "char local_7c;" (primitive_type "char") (identifier "local_7c") (; ";")) (declaration "undefined1 local_7b;" (type_identifier "undefined1") (identifier "local_7b") (; ";")) (declaration "ushort local_7a;" (type_identifier "ushort") (identifier "local_7a") (; ";")) (declaration "uint local_78;" (type_identifier "uint") (identifier "local_78") (; ";")) (declaration "uint local_74;" (type_identifier "uint") (identifier "local_74") (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "uint local_6c;" (type_identifier "uint") (identifier "local_6c") (; ";")) (declaration "int local_68;" (primitive_type "int") (identifier "local_68") (; ";")) (declaration "uint local_64;" (type_identifier "uint") (identifier "local_64") (; ";")) (declaration "uint local_60;" (type_identifier "uint") (identifier "local_60") (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "undefined4 *local_58 [2];" (type_identifier "undefined4") (pointer_declarator "*local_58 [2]" (* "*") (array_declarator "local_58 [2]" (identifier "local_58") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "uint local_4c;" (type_identifier "uint") (identifier "local_4c") (; ";")) (declaration "undefined4 **local_48;" (type_identifier "undefined4") (pointer_declarator "**local_48" (* "*") (pointer_declarator "*local_48" (* "*") (identifier "local_48"))) (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "undefined *local_40;" (type_identifier "undefined") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "local_58[0] = &local_80;" (assignment_expression "local_58[0] = &local_80" (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "&local_80" (& "&") (identifier "local_80"))) (; ";")) (if_statement "if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }" (if "if") (parenthesized_expression "((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4))" (( "(") (binary_expression "(1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)" (parenthesized_expression "(1 < *(byte *)(param_1 + 0x9f) - 1)" (( "(") (binary_expression "1 < *(byte *)(param_1 + 0x9f) - 1" (number_literal "1") (< "<") (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" (* "*") (cast_expression "(byte *)(param_1 + 0x9f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x9f)" (( "(") (binary_expression "param_1 + 0x9f" (identifier "param_1") (+ "+") (number_literal "0x9f")) () ")")))) (- "-") (number_literal "1"))) () ")")) (&& "&&") (parenthesized_expression "(*(byte *)(param_1 + 0x9f) != 4)" (( "(") (binary_expression "*(byte *)(param_1 + 0x9f) != 4" (pointer_expression "*(byte *)(param_1 + 0x9f)" (* "*") (cast_expression "(byte *)(param_1 + 0x9f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x9f)" (( "(") (binary_expression "param_1 + 0x9f" (identifier "param_1") (+ "+") (number_literal "0x9f")) () ")")))) (!= "!=") (number_literal "4")) () ")"))) () ")")) (compound_statement "{\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }" ({ "{") (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20)" (identifier "do_gold_unreachable") (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0xefc" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0xefc")) (, ",") (number_literal "0x388") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x1d20" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x1d20")) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;" (assignment_expression "uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2" (identifier "uVar6") (= "=") (binary_expression "*(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2" (binary_expression "*(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc)" (pointer_expression "*(int *)(param_1 + 0xc0)" (* "*") (cast_expression "(int *)(param_1 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc0)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0xbc)" (* "*") (cast_expression "(int *)(param_1 + 0xbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xbc)" (( "(") (binary_expression "param_1 + 0xbc" (identifier "param_1") (+ "+") (number_literal "0xbc")) () ")"))))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);" (assignment_expression "uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" (* "*") (cast_expression "(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4)" (( "(") (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4" (binary_expression "**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4)" (pointer_expression "**(int **)(param_1 + 0x98)" (* "*") (pointer_expression "*(int **)(param_1 + 0x98)" (* "*") (cast_expression "(int **)(param_1 + 0x98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x98)" (( "(") (binary_expression "param_1 + 0x98" (identifier "param_1") (+ "+") (number_literal "0x98")) () ")"))))) (+ "+") (pointer_expression "*(int *)(param_1 + 0xa4)" (* "*") (cast_expression "(int *)(param_1 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa4)" (( "(") (binary_expression "param_1 + 0xa4" (identifier "param_1") (+ "+") (number_literal "0xa4")) () ")"))))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (identifier "local_4c") (= "=") (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" (( "(") (binary_expression "uVar15 >> 0x10" (identifier "uVar15") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" (( "(") (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" (( "(") (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" (( "(") (binary_expression "uVar15 & 0xff" (identifier "uVar15") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" (identifier "uVar15") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (if_statement "if (uVar6 < local_4c) {\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }\n  else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(uVar6 < local_4c)" (( "(") (binary_expression "uVar6 < local_4c" (identifier "uVar6") (< "<") (identifier "local_4c")) () ")")) (compound_statement "{\n    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar6 = *(uint *)(iVar7 + 0xc4);\n    if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }\n  }" ({ "{") (expression_statement "(*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);" (call_expression "(*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6)" (parenthesized_expression "(*(code *)PTR__M_default_append_004c3664)" (( "(") (pointer_expression "*(code *)PTR__M_default_append_004c3664" (* "*") (cast_expression "(code *)PTR__M_default_append_004c3664" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_default_append_004c3664"))) () ")")) (argument_list "(param_1 + 0xbc,local_4c - uVar6)" (( "(") (binary_expression "param_1 + 0xbc" (identifier "param_1") (+ "+") (number_literal "0xbc")) (, ",") (binary_expression "local_4c - uVar6" (identifier "local_4c") (- "-") (identifier "uVar6")) () ")"))) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (labeled_statement "gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" (comma_expression "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (binary_expression "Sized_incremental_binary<64" (identifier "Sized_incremental_binary") (< "<") (number_literal "64")) (, ",") (binary_expression "false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (identifier "get_symtab_view") (argument_list "(*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (( "(") (pointer_expression "*(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (* "*") (call_expression "(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (parenthesized_expression "(Sized_incremental_binary<64,false> **)" (( "(") (comma_expression "Sized_incremental_binary<64,false> **" (binary_expression "Sized_incremental_binary<64" (identifier "Sized_incremental_binary") (< "<") (number_literal "64")) (, ",") (binary_expression "false> **" (false "false") (> ">") (pointer_expression "**" (* "*") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")")))) (, ",") (cast_expression "(View *)&local_5c" (( "(") (type_descriptor "View *" (type_identifier "View") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (cast_expression "(Elf_strtab *)&local_68" (( "(") (type_descriptor "Elf_strtab *" (type_identifier "Elf_strtab") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) () ")"))))) (; ";"))) (expression_statement "iVar7 = *(int *)(param_1 + 0x90);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x90)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 0x90)" (* "*") (cast_expression "(int *)(param_1 + 0x90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar7 + 0xc0);" (assignment_expression "iVar4 = *(int *)(iVar7 + 0xc0)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar7 + 0xc0)" (* "*") (cast_expression "(int *)(iVar7 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc0)" (( "(") (binary_expression "iVar7 + 0xc0" (identifier "iVar7") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (expression_statement "uVar6 = *(uint *)(iVar7 + 0xc4);" (assignment_expression "uVar6 = *(uint *)(iVar7 + 0xc4)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar7 + 0xc4)" (* "*") (cast_expression "(uint *)(iVar7 + 0xc4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc4)" (( "(") (binary_expression "iVar7 + 0xc4" (identifier "iVar7") (+ "+") (number_literal "0xc4")) () ")"))))) (; ";")) (if_statement "if (iVar4 < 0) {\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }\n    else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;\n    }" ({ "{") (expression_statement "uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;" (assignment_expression "uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2" (identifier "uVar6") (= "=") (binary_expression "((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2" (binary_expression "((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000" (parenthesized_expression "((uint)(uVar6 + 3 < uVar6) + iVar4)" (( "(") (binary_expression "(uint)(uVar6 + 3 < uVar6) + iVar4" (call_expression "(uint)(uVar6 + 3 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar6 + 3 < uVar6)" (( "(") (binary_expression "uVar6 + 3 < uVar6" (binary_expression "uVar6 + 3" (identifier "uVar6") (+ "+") (number_literal "3")) (< "<") (identifier "uVar6")) () ")"))) (+ "+") (identifier "iVar4")) () ")")) (* "*") (number_literal "0x40000000")) (| "|") (binary_expression "uVar6 + 3 >> 2" (binary_expression "uVar6 + 3" (identifier "uVar6") (+ "+") (number_literal "3")) (>> ">>") (number_literal "2")))) (; ";")) (} "}")) (else_clause "else {\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }" (else "else") (compound_statement "{\n      uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    }" ({ "{") (expression_statement "uVar6 = iVar4 << 0x1e | uVar6 >> 2;" (assignment_expression "uVar6 = iVar4 << 0x1e | uVar6 >> 2" (identifier "uVar6") (= "=") (binary_expression "iVar4 << 0x1e | uVar6 >> 2" (binary_expression "iVar4 << 0x1e" (identifier "iVar4") (<< "<<") (number_literal "0x1e")) (| "|") (binary_expression "uVar6 >> 2" (identifier "uVar6") (>> ">>") (number_literal "2")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }" (else "else") (compound_statement "{\n    if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }\n    local_5c = 0;\n    local_68 = 0;\n    local_64 = 0;\n    gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar4 = *(int *)(iVar7 + 0xc0);\n    uVar15 = *(uint *)(iVar7 + 0xc4);\n    uVar6 = uVar15;\n    if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }\n    uVar6 = iVar4 << 0x1e | uVar6 >> 2;\n    if (local_4c == 0) {\n      return;\n    }\n  }" ({ "{") (if_statement "if ((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }" (if "if") (parenthesized_expression "((local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4))" (( "(") (binary_expression "(local_4c < uVar6) &&\n       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)" (parenthesized_expression "(local_4c < uVar6)" (( "(") (binary_expression "local_4c < uVar6" (identifier "local_4c") (< "<") (identifier "uVar6")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)" (( "(") (comma_expression "iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4" (assignment_expression "iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4" (identifier "iVar4") (= "=") (binary_expression "*(int *)(param_1 + 0xbc) + local_4c * 4" (pointer_expression "*(int *)(param_1 + 0xbc)" (* "*") (cast_expression "(int *)(param_1 + 0xbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xbc)" (( "(") (binary_expression "param_1 + 0xbc" (identifier "param_1") (+ "+") (number_literal "0xbc")) () ")")))) (+ "+") (binary_expression "local_4c * 4" (identifier "local_4c") (* "*") (number_literal "4")))) (, ",") (binary_expression "*(int *)(param_1 + 0xc0) != iVar4" (pointer_expression "*(int *)(param_1 + 0xc0)" (* "*") (cast_expression "(int *)(param_1 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc0)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) () ")")))) (!= "!=") (identifier "iVar4"))) () ")"))) () ")")) (compound_statement "{\n      *(int *)(param_1 + 0xc0) = iVar4;\n    }" ({ "{") (expression_statement "*(int *)(param_1 + 0xc0) = iVar4;" (assignment_expression "*(int *)(param_1 + 0xc0) = iVar4" (pointer_expression "*(int *)(param_1 + 0xc0)" (* "*") (cast_expression "(int *)(param_1 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc0)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (labeled_statement "gold::Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68);" (comma_expression "Sized_incremental_binary<64,false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (binary_expression "Sized_incremental_binary<64" (identifier "Sized_incremental_binary") (< "<") (number_literal "64")) (, ",") (binary_expression "false>::get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (false "false") (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "get_symtab_view\n              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (identifier "get_symtab_view") (argument_list "(*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,\n               (Elf_strtab *)&local_68)" (( "(") (pointer_expression "*(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (* "*") (call_expression "(Sized_incremental_binary<64,false> **)(param_1 + 0x90)" (parenthesized_expression "(Sized_incremental_binary<64,false> **)" (( "(") (comma_expression "Sized_incremental_binary<64,false> **" (binary_expression "Sized_incremental_binary<64" (identifier "Sized_incremental_binary") (< "<") (number_literal "64")) (, ",") (binary_expression "false> **" (false "false") (> ">") (pointer_expression "**" (* "*") (pointer_expression "*" (* "*") (identifier ""))))) () ")")) (argument_list "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")")))) (, ",") (cast_expression "(View *)&local_5c" (( "(") (type_descriptor "View *" (type_identifier "View") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (cast_expression "(Elf_strtab *)&local_68" (( "(") (type_descriptor "Elf_strtab *" (type_identifier "Elf_strtab") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) () ")"))))) (; ";"))) (expression_statement "iVar7 = *(int *)(param_1 + 0x90);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x90)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 0x90)" (* "*") (cast_expression "(int *)(param_1 + 0x90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar7 + 0xc0);" (assignment_expression "iVar4 = *(int *)(iVar7 + 0xc0)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar7 + 0xc0)" (* "*") (cast_expression "(int *)(iVar7 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc0)" (( "(") (binary_expression "iVar7 + 0xc0" (identifier "iVar7") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(uint *)(iVar7 + 0xc4);" (assignment_expression "uVar15 = *(uint *)(iVar7 + 0xc4)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(iVar7 + 0xc4)" (* "*") (cast_expression "(uint *)(iVar7 + 0xc4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc4)" (( "(") (binary_expression "iVar7 + 0xc4" (identifier "iVar7") (+ "+") (number_literal "0xc4")) () ")"))))) (; ";")) (expression_statement "uVar6 = uVar15;" (assignment_expression "uVar6 = uVar15" (identifier "uVar6") (= "=") (identifier "uVar15")) (; ";")) (if_statement "if (iVar4 < 0) {\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar6 = uVar15 + 3;\n      iVar4 = (uint)(uVar6 < uVar15) + iVar4;\n    }" ({ "{") (expression_statement "uVar6 = uVar15 + 3;" (assignment_expression "uVar6 = uVar15 + 3" (identifier "uVar6") (= "=") (binary_expression "uVar15 + 3" (identifier "uVar15") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar4 = (uint)(uVar6 < uVar15) + iVar4;" (assignment_expression "iVar4 = (uint)(uVar6 < uVar15) + iVar4" (identifier "iVar4") (= "=") (binary_expression "(uint)(uVar6 < uVar15) + iVar4" (call_expression "(uint)(uVar6 < uVar15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar6 < uVar15)" (( "(") (binary_expression "uVar6 < uVar15" (identifier "uVar6") (< "<") (identifier "uVar15")) () ")"))) (+ "+") (identifier "iVar4"))) (; ";")) (} "}"))) (expression_statement "uVar6 = iVar4 << 0x1e | uVar6 >> 2;" (assignment_expression "uVar6 = iVar4 << 0x1e | uVar6 >> 2" (identifier "uVar6") (= "=") (binary_expression "iVar4 << 0x1e | uVar6 >> 2" (binary_expression "iVar4 << 0x1e" (identifier "iVar4") (<< "<<") (number_literal "0x1e")) (| "|") (binary_expression "uVar6 >> 2" (identifier "uVar6") (>> ">>") (number_literal "2")))) (; ";")) (if_statement "if (local_4c == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(local_4c == 0)" (( "(") (binary_expression "local_4c == 0" (identifier "local_4c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "local_44 = uVar6 - local_60;" (assignment_expression "local_44 = uVar6 - local_60" (identifier "local_44") (= "=") (binary_expression "uVar6 - local_60" (identifier "uVar6") (- "-") (identifier "local_60"))) (; ";")) (expression_statement "local_48 = local_58;" (assignment_expression "local_48 = local_58" (identifier "local_48") (= "=") (identifier "local_58")) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;" (assignment_expression "local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8" (identifier "local_40") (= "=") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x6db8" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x6db8"))) (; ";")) (do_statement "do {\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }\n    iVar17 = uVar6 * 4;\n    iVar4 = **(int **)(param_1 + 0x98);\n    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;\n    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));\n    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);\n    uVar15 = *puVar1;\n    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar16 = (uint *)(local_5c + iVar13 * 0x18);\n    uVar15 = *puVar16;\n    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n    puVar14 = local_40;\n    if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }\n    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;\n    uVar15 = *(byte *)(puVar16 + 1) & 0xf;\n    if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }\n    uVar6 = uVar6 + 1;\n    iVar7 = *(int *)(param_1 + 0x90);\n    iVar8 = *(int *)(iVar7 + 0x68);\n    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;\n    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;\n    if (uVar6 == local_4c) {\n      return;\n    }\n  }" ({ "{") (if_statement "if (1 < *(byte *)(param_1 + 0x9f) - 1) {\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }" (if "if") (parenthesized_expression "(1 < *(byte *)(param_1 + 0x9f) - 1)" (( "(") (binary_expression "1 < *(byte *)(param_1 + 0x9f) - 1" (number_literal "1") (< "<") (binary_expression "*(byte *)(param_1 + 0x9f) - 1" (pointer_expression "*(byte *)(param_1 + 0x9f)" (* "*") (cast_expression "(byte *)(param_1 + 0x9f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x9f)" (( "(") (binary_expression "param_1 + 0x9f" (identifier "param_1") (+ "+") (number_literal "0x9f")) () ")")))) (- "-") (number_literal "1"))) () ")")) (compound_statement "{\n                    \n      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n    }" ({ "{") (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4)" (identifier "do_gold_unreachable") (argument_list "(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0xefc" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0xefc")) (, ",") (number_literal "0x414") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x1bd4" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x1bd4")) () ")"))) (; ";"))) (} "}"))) (expression_statement "iVar17 = uVar6 * 4;" (assignment_expression "iVar17 = uVar6 * 4" (identifier "iVar17") (= "=") (binary_expression "uVar6 * 4" (identifier "uVar6") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar4 = **(int **)(param_1 + 0x98);" (assignment_expression "iVar4 = **(int **)(param_1 + 0x98)" (identifier "iVar4") (= "=") (pointer_expression "**(int **)(param_1 + 0x98)" (* "*") (pointer_expression "*(int **)(param_1 + 0x98)" (* "*") (cast_expression "(int **)(param_1 + 0x98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x98)" (( "(") (binary_expression "param_1 + 0x98" (identifier "param_1") (+ "+") (number_literal "0x98")) () ")")))))) (; ";")) (expression_statement "iVar8 = *(int *)(param_1 + 0xa4) + 0x20;" (assignment_expression "iVar8 = *(int *)(param_1 + 0xa4) + 0x20" (identifier "iVar8") (= "=") (binary_expression "*(int *)(param_1 + 0xa4) + 0x20" (pointer_expression "*(int *)(param_1 + 0xa4)" (* "*") (cast_expression "(int *)(param_1 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa4)" (( "(") (binary_expression "param_1 + 0xa4" (identifier "param_1") (+ "+") (number_literal "0xa4")) () ")")))) (+ "+") (number_literal "0x20"))) (; ";")) (expression_statement "uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));" (assignment_expression "uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4))" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(iVar4 + *(int *)(param_1 + 0xa4))" (* "*") (cast_expression "(uint *)(iVar4 + *(int *)(param_1 + 0xa4))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + *(int *)(param_1 + 0xa4))" (( "(") (binary_expression "iVar4 + *(int *)(param_1 + 0xa4)" (identifier "iVar4") (+ "+") (pointer_expression "*(int *)(param_1 + 0xa4)" (* "*") (cast_expression "(int *)(param_1 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa4)" (( "(") (binary_expression "param_1 + 0xa4" (identifier "param_1") (+ "+") (number_literal "0xa4")) () ")"))))) () ")"))))) (; ";")) (expression_statement "puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);" (assignment_expression "puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18)" (( "(") (binary_expression "iVar4 + uVar6 * 0x14 + iVar8 +\n                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18" (binary_expression "iVar4 + uVar6 * 0x14 + iVar8" (binary_expression "iVar4 + uVar6 * 0x14" (identifier "iVar4") (+ "+") (binary_expression "uVar6 * 0x14" (identifier "uVar6") (* "*") (number_literal "0x14"))) (+ "+") (identifier "iVar8")) (+ "+") (binary_expression "((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18" (parenthesized_expression "((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000)" (( "(") (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" (( "(") (binary_expression "uVar15 >> 0x10" (identifier "uVar15") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" (( "(") (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" (( "(") (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" (( "(") (binary_expression "uVar15 & 0xff" (identifier "uVar15") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" (identifier "uVar15") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) () ")")) (* "*") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "uVar15 = *puVar1;" (assignment_expression "uVar15 = *puVar1" (identifier "uVar15") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (identifier "iVar13") (= "=") (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" (( "(") (binary_expression "uVar15 >> 0x10" (identifier "uVar15") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" (( "(") (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" (( "(") (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" (( "(") (binary_expression "uVar15 & 0xff" (identifier "uVar15") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" (identifier "uVar15") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "puVar16 = (uint *)(local_5c + iVar13 * 0x18);" (assignment_expression "puVar16 = (uint *)(local_5c + iVar13 * 0x18)" (identifier "puVar16") (= "=") (cast_expression "(uint *)(local_5c + iVar13 * 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_5c + iVar13 * 0x18)" (( "(") (binary_expression "local_5c + iVar13 * 0x18" (identifier "local_5c") (+ "+") (binary_expression "iVar13 * 0x18" (identifier "iVar13") (* "*") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "uVar15 = *puVar16;" (assignment_expression "uVar15 = *puVar16" (identifier "uVar15") (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";")) (expression_statement "uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (identifier "uVar15") (= "=") (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" (( "(") (binary_expression "uVar15 >> 0x10" (identifier "uVar15") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" (( "(") (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" (( "(") (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" (( "(") (binary_expression "uVar15 & 0xff" (identifier "uVar15") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" (identifier "uVar15") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "puVar14 = local_40;" (assignment_expression "puVar14 = local_40" (identifier "puVar14") (= "=") (identifier "local_40")) (; ";")) (if_statement "if (uVar15 < local_64) {\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }" (if "if") (parenthesized_expression "(uVar15 < local_64)" (( "(") (binary_expression "uVar15 < local_64" (identifier "uVar15") (< "<") (identifier "local_64")) () ")")) (compound_statement "{\n      puVar14 = (undefined *)(local_68 + uVar15);\n    }" ({ "{") (expression_statement "puVar14 = (undefined *)(local_68 + uVar15);" (assignment_expression "puVar14 = (undefined *)(local_68 + uVar15)" (identifier "puVar14") (= "=") (cast_expression "(undefined *)(local_68 + uVar15)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_68 + uVar15)" (( "(") (binary_expression "local_68 + uVar15" (identifier "local_68") (+ "+") (identifier "uVar15")) () ")")))) (; ";")) (} "}"))) (expression_statement "local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;" (assignment_expression "local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4" (identifier "local_50") (= "=") (binary_expression "(int)(uint)*(byte *)(puVar16 + 1) >> 4" (binary_expression "(int)(uint)*(byte *)(puVar16 + 1)" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)(puVar16 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 1)" (( "(") (binary_expression "puVar16 + 1" (identifier "puVar16") (+ "+") (number_literal "1")) () ")")))) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar15 = *(byte *)(puVar16 + 1) & 0xf;" (assignment_expression "uVar15 = *(byte *)(puVar16 + 1) & 0xf" (identifier "uVar15") (= "=") (binary_expression "*(byte *)(puVar16 + 1) & 0xf" (pointer_expression "*(byte *)(puVar16 + 1)" (* "*") (cast_expression "(byte *)(puVar16 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 1)" (( "(") (binary_expression "puVar16 + 1" (identifier "puVar16") (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0xf"))) (; ";")) (if_statement "if (local_50 == 0) {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }\n    else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(local_50 == 0)" (( "(") (binary_expression "local_50 == 0" (identifier "local_50") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      local_50 = 1;\n      if (0xfffffffd < uVar18) goto LAB_0019bf08;\nLAB_0019bd28:\n      uVar2 = puVar16[2];\n      uVar5 = puVar16[3];\n      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n      if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }\n      local_6c = puVar16[5];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_70 = puVar16[4];\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_78 = uVar2;\n      local_74 = uVar5;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;\n    }" ({ "{") (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" (identifier "uVar18") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (identifier "uVar19") (= "=") (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" (( "(") (binary_expression "uVar18 >> 0x10" (identifier "uVar18") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" (( "(") (binary_expression "uVar18 >> 0x18" (identifier "uVar18") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" (( "(") (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" (( "(") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" (identifier "uVar18") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar18 = uVar19 - 1;" (assignment_expression "uVar18 = uVar19 - 1" (identifier "uVar18") (= "=") (binary_expression "uVar19 - 1" (identifier "uVar19") (- "-") (number_literal "1"))) (; ";")) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (if_statement "if (0xfffffffd < uVar18) goto LAB_0019bf08;" (if "if") (parenthesized_expression "(0xfffffffd < uVar18)" (( "(") (binary_expression "0xfffffffd < uVar18" (number_literal "0xfffffffd") (< "<") (identifier "uVar18")) () ")")) (goto_statement "goto LAB_0019bf08;" (goto "goto") (statement_identifier "LAB_0019bf08") (; ";"))) (labeled_statement "LAB_0019bd28:\n      uVar2 = puVar16[2];" (statement_identifier "LAB_0019bd28") (: ":") (expression_statement "uVar2 = puVar16[2];" (assignment_expression "uVar2 = puVar16[2]" (identifier "uVar2") (= "=") (subscript_expression "puVar16[2]" (identifier "puVar16") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (expression_statement "uVar5 = puVar16[3];" (assignment_expression "uVar5 = puVar16[3]" (identifier "uVar5") (= "=") (subscript_expression "puVar16[3]" (identifier "puVar16") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);" (assignment_expression "uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (identifier "uVar10") (= "=") (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n               (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar16 + 6) & 0xff)" (( "(") (binary_expression "*(ushort *)((int)puVar16 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar16 + 6)" (* "*") (cast_expression "(ushort *)((int)puVar16 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 6)" (( "(") (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "6")) () ")")))) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (call_expression "(uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(ushort *)((int)puVar16 + 6) >> 8)" (( "(") (binary_expression "*(ushort *)((int)puVar16 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar16 + 6)" (* "*") (cast_expression "(ushort *)((int)puVar16 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 6)" (( "(") (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "6")) () ")")))) (>> ">>") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (identifier "iVar9") (= "=") (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 "uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (identifier "uVar11") (= "=") (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" (( "(") (binary_expression "uVar2 >> 0x10" (identifier "uVar2") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" (( "(") (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" (( "(") (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (if_statement "if (uVar10 == 0xfff1) {\n        local_7a = 0xf1ff;\n      }\n      else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" (if "if") (parenthesized_expression "(uVar10 == 0xfff1)" (( "(") (binary_expression "uVar10 == 0xfff1" (identifier "uVar10") (== "==") (number_literal "0xfff1")) () ")")) (compound_statement "{\n        local_7a = 0xf1ff;\n      }" ({ "{") (expression_statement "local_7a = 0xf1ff;" (assignment_expression "local_7a = 0xf1ff" (identifier "local_7a") (= "=") (number_literal "0xf1ff")) (; ";")) (} "}")) (else_clause "else {\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" (else "else") (compound_statement "{\n        if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }\n        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);\n        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }\n        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;\n        uVar5 = *(uint *)(iVar4 + 4);\n        uVar18 = *(uint *)(iVar4 + 8);\n        uVar2 = *(uint *)(iVar4 + 0xc);\n        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }\n        uVar5 = uVar11;\n        if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }\n        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);\n        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);\n        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;\n        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n      }" ({ "{") (if_statement "if (uVar10 == 0) {\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar4 = 0x884;\nLAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);\n        }" ({ "{") (expression_statement "iVar4 = 0x884;" (assignment_expression "iVar4 = 0x884" (identifier "iVar4") (= "=") (number_literal "0x884")) (; ";")) (labeled_statement "LAB_0019c214:\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);" (statement_identifier "LAB_0019c214") (: ":") (labeled_statement "gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);" (call_expression "do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0)" (identifier "do_gold_unreachable") (argument_list "(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0xee0" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0xee0")) (, ",") (identifier "iVar4") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x1bf0" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x1bf0")) () ")"))) (; ";")))) (} "}"))) (expression_statement "iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);" (assignment_expression "iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar7 + 0x5c) + uVar10 * 4)" (( "(") (binary_expression "*(int *)(iVar7 + 0x5c) + uVar10 * 4" (pointer_expression "*(int *)(iVar7 + 0x5c)" (* "*") (cast_expression "(int *)(iVar7 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x5c)" (( "(") (binary_expression "iVar7 + 0x5c" (identifier "iVar7") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }" (if "if") (parenthesized_expression "((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15))" (( "(") (binary_expression "(iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x98) << 0x15)" (( "(") (binary_expression "-1 < *(int *)(iVar7 + 0x98) << 0x15" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar7 + 0x98) << 0x15" (pointer_expression "*(int *)(iVar7 + 0x98)" (* "*") (cast_expression "(int *)(iVar7 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x98)" (( "(") (binary_expression "iVar7 + 0x98" (identifier "iVar7") (+ "+") (number_literal "0x98")) () ")")))) (<< "<<") (number_literal "0x15"))) () ")"))) () ")")) (compound_statement "{\n          iVar4 = 0x886;\n          goto LAB_0019c214;\n        }" ({ "{") (expression_statement "iVar4 = 0x886;" (assignment_expression "iVar4 = 0x886" (identifier "iVar4") (= "=") (number_literal "0x886")) (; ";")) (goto_statement "goto LAB_0019c214;" (goto "goto") (statement_identifier "LAB_0019c214") (; ";")) (} "}"))) (expression_statement "iVar4 = iVar4 + uVar18 * 0x18 + iVar8;" (assignment_expression "iVar4 = iVar4 + uVar18 * 0x18 + iVar8" (identifier "iVar4") (= "=") (binary_expression "iVar4 + uVar18 * 0x18 + iVar8" (binary_expression "iVar4 + uVar18 * 0x18" (identifier "iVar4") (+ "+") (binary_expression "uVar18 * 0x18" (identifier "uVar18") (* "*") (number_literal "0x18"))) (+ "+") (identifier "iVar8"))) (; ";")) (expression_statement "uVar5 = *(uint *)(iVar4 + 4);" (assignment_expression "uVar5 = *(uint *)(iVar4 + 4)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar4 + 4)" (* "*") (cast_expression "(uint *)(iVar4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(uint *)(iVar4 + 8);" (assignment_expression "uVar18 = *(uint *)(iVar4 + 8)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(iVar4 + 8)" (* "*") (cast_expression "(uint *)(iVar4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar2 = *(uint *)(iVar4 + 0xc)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(iVar4 + 0xc)" (* "*") (cast_expression "(uint *)(iVar4 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }" (if "if") (parenthesized_expression "(uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000)" (( "(") (binary_expression "uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (identifier "uVar10") (!= "!=") (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")))) () ")")) (compound_statement "{\n          iVar4 = 0x889;\n          goto LAB_0019c214;\n        }" ({ "{") (expression_statement "iVar4 = 0x889;" (assignment_expression "iVar4 = 0x889" (identifier "iVar4") (= "=") (number_literal "0x889")) (; ";")) (goto_statement "goto LAB_0019c214;" (goto "goto") (statement_identifier "LAB_0019c214") (; ";")) (} "}"))) (expression_statement "uVar5 = uVar11;" (assignment_expression "uVar5 = uVar11" (identifier "uVar5") (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (uVar15 != 6) {\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }" (if "if") (parenthesized_expression "(uVar15 != 6)" (( "(") (binary_expression "uVar15 != 6" (identifier "uVar15") (!= "!=") (number_literal "6")) () ")")) (compound_statement "{\n          if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }\n          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);\n          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);\n        }" ({ "{") (if_statement "if (-1 < *(int *)(iVar7 + 0x20)) {\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar7 + 0x20))" (( "(") (binary_expression "-1 < *(int *)(iVar7 + 0x20)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar7 + 0x20)" (* "*") (cast_expression "(int *)(iVar7 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (compound_statement "{\nLAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);\n          }" ({ "{") (labeled_statement "LAB_0019c238:\n                    \n            gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);" (statement_identifier "LAB_0019c238") (: ":") (labeled_statement "gold::do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8);" (call_expression "do_gold_unreachable\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8)" (identifier "do_gold_unreachable") (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,\n                       PTR_s__s_004c1a50 + 0x25d8)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xc5") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x25d8" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x25d8")) () ")"))) (; ";")))) (} "}"))) (expression_statement "uVar5 = uVar11 - *(int *)(iVar7 + 0xc);" (assignment_expression "uVar5 = uVar11 - *(int *)(iVar7 + 0xc)" (identifier "uVar5") (= "=") (binary_expression "uVar11 - *(int *)(iVar7 + 0xc)" (identifier "uVar11") (- "-") (pointer_expression "*(int *)(iVar7 + 0xc)" (* "*") (cast_expression "(int *)(iVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")")))))) (; ";")) (expression_statement "iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);" (assignment_expression "iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5)" (identifier "iVar9") (= "=") (binary_expression "(iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5)" (parenthesized_expression "(iVar9 - *(int *)(iVar7 + 8))" (( "(") (binary_expression "iVar9 - *(int *)(iVar7 + 8)" (identifier "iVar9") (- "-") (pointer_expression "*(int *)(iVar7 + 8)" (* "*") (cast_expression "(int *)(iVar7 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")"))))) () ")")) (- "-") (call_expression "(uint)(uVar11 < uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar11 < uVar5)" (( "(") (binary_expression "uVar11 < uVar5" (identifier "uVar11") (< "<") (identifier "uVar5")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);" (assignment_expression "uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000)" (identifier "uVar18") (= "=") (binary_expression "uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000)" (identifier "uVar5") (- "-") (parenthesized_expression "((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000)" (( "(") (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" (( "(") (binary_expression "uVar18 >> 0x10" (identifier "uVar18") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" (( "(") (binary_expression "uVar18 >> 0x18" (identifier "uVar18") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" (( "(") (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" (( "(") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" (identifier "uVar18") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) () ")")))) (; ";")) (expression_statement "uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18);" (assignment_expression "uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18)" (identifier "uVar5") (= "=") (binary_expression "(iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -\n                (uint)(uVar5 < uVar18)" (parenthesized_expression "(iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000))" (( "(") (binary_expression "iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)" (identifier "iVar9") (- "-") (parenthesized_expression "((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)" (( "(") (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" (( "(") (binary_expression "uVar2 >> 0x10" (identifier "uVar2") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" (( "(") (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" (( "(") (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) () ")"))) () ")")) (- "-") (call_expression "(uint)(uVar5 < uVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar5 < uVar18)" (( "(") (binary_expression "uVar5 < uVar18" (identifier "uVar5") (< "<") (identifier "uVar18")) () ")"))))) (; ";")) (expression_statement "local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;" (assignment_expression "local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff" (identifier "local_7a") (= "=") (binary_expression "(ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff" (call_expression "(ushort)((uVar19 & 0xff) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar19 & 0xff) << 8)" (( "(") (binary_expression "(uVar19 & 0xff) << 8" (parenthesized_expression "(uVar19 & 0xff)" (( "(") (binary_expression "uVar19 & 0xff" (identifier "uVar19") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (binary_expression "(ushort)(uVar19 >> 8) & 0xff" (call_expression "(ushort)(uVar19 >> 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar19 >> 8)" (( "(") (binary_expression "uVar19 >> 8" (identifier "uVar19") (>> ">>") (number_literal "8")) () ")"))) (& "&") (number_literal "0xff")))) (; ";")) (expression_statement "uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (identifier "uVar2") (= "=") (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" (( "(") (binary_expression "uVar18 >> 0x10" (identifier "uVar18") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" (( "(") (binary_expression "uVar18 >> 0x18" (identifier "uVar18") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" (( "(") (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" (( "(") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" (identifier "uVar18") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (identifier "uVar5") (= "=") (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 "local_6c = puVar16[5];" (assignment_expression "local_6c = puVar16[5]" (identifier "local_6c") (= "=") (subscript_expression "puVar16[5]" (identifier "puVar16") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_7c = (char)uVar15 + (char)local_50 * '\x10';" (assignment_expression "local_7c = (char)uVar15 + (char)local_50 * '\x10'" (identifier "local_7c") (= "=") (binary_expression "(char)uVar15 + (char)local_50 * '\x10'" (cast_expression "(char)uVar15" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar15")) (+ "+") (binary_expression "(char)local_50 * '\x10'" (cast_expression "(char)local_50" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_50")) (* "*") (char_literal "'\x10'" (' "'") (escape_sequence "\x10") (' "'"))))) (; ";")) (expression_statement "local_70 = puVar16[4];" (assignment_expression "local_70 = puVar16[4]" (identifier "local_70") (= "=") (subscript_expression "puVar16[4]" (identifier "puVar16") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7b = *(undefined1 *)((int)puVar16 + 5);" (assignment_expression "local_7b = *(undefined1 *)((int)puVar16 + 5)" (identifier "local_7b") (= "=") (pointer_expression "*(undefined1 *)((int)puVar16 + 5)" (* "*") (cast_expression "(undefined1 *)((int)puVar16 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 5)" (( "(") (binary_expression "(int)puVar16 + 5" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "local_78 = uVar2;" (assignment_expression "local_78 = uVar2" (identifier "local_78") (= "=") (identifier "uVar2")) (; ";")) (expression_statement "local_74 = uVar5;" (assignment_expression "local_74 = uVar5" (identifier "local_74") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;" (assignment_expression "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" (parenthesized_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)" (( "(") (comma_expression "*(code *)PTR_add_from_incrobj<64,false>_004c3ae4" (binary_expression "*(code *)PTR_add_from_incrobj<64" (pointer_expression "*(code *)PTR_add_from_incrobj" (* "*") (cast_expression "(code *)PTR_add_from_incrobj" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_from_incrobj"))) (< "<") (number_literal "64")) (, ",") (binary_expression "false>_004c3ae4" (false "false") (> ">") (identifier "_004c3ae4"))) () ")")) (argument_list "(param_2,param_1,puVar14,0,local_48)" (( "(") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "puVar14") (, ",") (number_literal "0") (, ",") (identifier "local_48") () ")")))) (; ";")) (expression_statement "*(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;" (assignment_expression "*(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1" (pointer_expression "*(int *)(param_1 + 200)" (* "*") (cast_expression "(int *)(param_1 + 200)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 200)" (( "(") (binary_expression "param_1 + 200" (identifier "param_1") (+ "+") (number_literal "200")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 200) + 1" (pointer_expression "*(int *)(param_1 + 200)" (* "*") (cast_expression "(int *)(param_1 + 200)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 200)" (( "(") (binary_expression "param_1 + 200" (identifier "param_1") (+ "+") (number_literal "200")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }" (else "else") (compound_statement "{\n      uVar18 = puVar1[1];\n      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n      uVar18 = uVar19 - 1;\n      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;\nLAB_0019bf08:\n      local_6c = puVar16[5];\n      local_74 = 0;\n      local_78 = 0;\n      local_70 = puVar16[4];\n      local_7c = (char)uVar15 + (char)local_50 * '\x10';\n      local_80 = 0;\n      local_7b = *(undefined1 *)((int)puVar16 + 5);\n      local_7a = 0;\n      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;\n      if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" (identifier "uVar18") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (identifier "uVar19") (= "=") (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" (( "(") (binary_expression "uVar18 >> 0x10" (identifier "uVar18") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" (( "(") (binary_expression "uVar18 >> 0x18" (identifier "uVar18") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" (( "(") (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" (( "(") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" (identifier "uVar18") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar18 = uVar19 - 1;" (assignment_expression "uVar18 = uVar19 - 1" (identifier "uVar18") (= "=") (binary_expression "uVar19 - 1" (identifier "uVar19") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar18 < 0xfffffffe) goto LAB_0019bd28;" (if "if") (parenthesized_expression "(uVar18 < 0xfffffffe)" (( "(") (binary_expression "uVar18 < 0xfffffffe" (identifier "uVar18") (< "<") (number_literal "0xfffffffe")) () ")")) (goto_statement "goto LAB_0019bd28;" (goto "goto") (statement_identifier "LAB_0019bd28") (; ";"))) (labeled_statement "LAB_0019bf08:\n      local_6c = puVar16[5];" (statement_identifier "LAB_0019bf08") (: ":") (expression_statement "local_6c = puVar16[5];" (assignment_expression "local_6c = puVar16[5]" (identifier "local_6c") (= "=") (subscript_expression "puVar16[5]" (identifier "puVar16") ([ "[") (number_literal "5") (] "]"))) (; ";"))) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = puVar16[4];" (assignment_expression "local_70 = puVar16[4]" (identifier "local_70") (= "=") (subscript_expression "puVar16[4]" (identifier "puVar16") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_7c = (char)uVar15 + (char)local_50 * '\x10';" (assignment_expression "local_7c = (char)uVar15 + (char)local_50 * '\x10'" (identifier "local_7c") (= "=") (binary_expression "(char)uVar15 + (char)local_50 * '\x10'" (cast_expression "(char)uVar15" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar15")) (+ "+") (binary_expression "(char)local_50 * '\x10'" (cast_expression "(char)local_50" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_50")) (* "*") (char_literal "'\x10'" (' "'") (escape_sequence "\x10") (' "'"))))) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7b = *(undefined1 *)((int)puVar16 + 5);" (assignment_expression "local_7b = *(undefined1 *)((int)puVar16 + 5)" (identifier "local_7b") (= "=") (pointer_expression "*(undefined1 *)((int)puVar16 + 5)" (* "*") (cast_expression "(undefined1 *)((int)puVar16 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 5)" (( "(") (binary_expression "(int)puVar16 + 5" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "local_7a = 0;" (assignment_expression "local_7a = 0" (identifier "local_7a") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)\n      ;" (assignment_expression "iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)" (parenthesized_expression "(*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)" (( "(") (comma_expression "*(code *)PTR_add_from_incrobj<64,false>_004c3ae4" (binary_expression "*(code *)PTR_add_from_incrobj<64" (pointer_expression "*(code *)PTR_add_from_incrobj" (* "*") (cast_expression "(code *)PTR_add_from_incrobj" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_from_incrobj"))) (< "<") (number_literal "64")) (, ",") (binary_expression "false>_004c3ae4" (false "false") (> ">") (identifier "_004c3ae4"))) () ")")) (argument_list "(param_2,param_1,puVar14,0,local_48)" (( "(") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "puVar14") (, ",") (number_literal "0") (, ",") (identifier "local_48") () ")")))) (; ";")) (if_statement "if (uVar19 == 0xffffffff) {\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(uVar19 == 0xffffffff)" (( "(") (binary_expression "uVar19 == 0xffffffff" (identifier "uVar19") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;\n        if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }\n        if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }\n      }" ({ "{") (expression_statement "uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;" (assignment_expression "uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000" (identifier "uVar18") (= "=") (binary_expression "*(uint *)(iVar4 + 0x28) & 0xe000" (pointer_expression "*(uint *)(iVar4 + 0x28)" (* "*") (cast_expression "(uint *)(iVar4 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xe000"))) (; ";")) (if_statement "if (uVar18 == 0) {\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }\n        else {\n          bVar3 = uVar18 != 0x8000;\n        }" (if "if") (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }\n        }" ({ "{") (if_statement "if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }\n          else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }" (if "if") (parenthesized_expression "((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0)" (( "(") (binary_expression "(int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0" (cast_expression "(int)(*(uint *)(iVar4 + 0x28) << 0x1d)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(*(uint *)(iVar4 + 0x28) << 0x1d)" (( "(") (binary_expression "*(uint *)(iVar4 + 0x28) << 0x1d" (pointer_expression "*(uint *)(iVar4 + 0x28)" (* "*") (cast_expression "(uint *)(iVar4 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x1d")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            bVar3 = *(int *)(iVar4 + 0xc) != 0;\n          }" ({ "{") (expression_statement "bVar3 = *(int *)(iVar4 + 0xc) != 0;" (assignment_expression "bVar3 = *(int *)(iVar4 + 0xc) != 0" (identifier "bVar3") (= "=") (binary_expression "*(int *)(iVar4 + 0xc) != 0" (pointer_expression "*(int *)(iVar4 + 0xc)" (* "*") (cast_expression "(int *)(iVar4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0"))) (; ";")) (} "}")) (else_clause "else {\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }" (else "else") (compound_statement "{\n            local_3c = iVar4;\n            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();\n            bVar3 = bVar3 ^ 1;\n            iVar4 = local_3c;\n          }" ({ "{") (expression_statement "local_3c = iVar4;" (assignment_expression "local_3c = iVar4" (identifier "local_3c") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();" (assignment_expression "bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)()" (identifier "bVar3") (= "=") (call_expression "(*(code *)PTR_is_common_shndx_004c1ccc)()" (parenthesized_expression "(*(code *)PTR_is_common_shndx_004c1ccc)" (( "(") (pointer_expression "*(code *)PTR_is_common_shndx_004c1ccc" (* "*") (cast_expression "(code *)PTR_is_common_shndx_004c1ccc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_is_common_shndx_004c1ccc"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar3 = bVar3 ^ 1;" (assignment_expression "bVar3 = bVar3 ^ 1" (identifier "bVar3") (= "=") (binary_expression "bVar3 ^ 1" (identifier "bVar3") (^ "^") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = local_3c;" (assignment_expression "iVar4 = local_3c" (identifier "iVar4") (= "=") (identifier "local_3c")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          bVar3 = uVar18 != 0x8000;\n        }" (else "else") (compound_statement "{\n          bVar3 = uVar18 != 0x8000;\n        }" ({ "{") (expression_statement "bVar3 = uVar18 != 0x8000;" (assignment_expression "bVar3 = uVar18 != 0x8000" (identifier "bVar3") (= "=") (binary_expression "uVar18 != 0x8000" (identifier "uVar18") (!= "!=") (number_literal "0x8000"))) (; ";")) (} "}")))) (if_statement "if (bVar3 == 0) {\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }" (if "if") (parenthesized_expression "(bVar3 == 0)" (( "(") (binary_expression "bVar3 == 0" (identifier "bVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar2 = puVar16[2];\n          uVar18 = puVar16[3];\n          uVar10 = puVar16[4];\n          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);\n          uVar5 = puVar16[5];\n          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;\n          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;\n          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n          if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }\n        }" ({ "{") (expression_statement "uVar2 = puVar16[2];" (assignment_expression "uVar2 = puVar16[2]" (identifier "uVar2") (= "=") (subscript_expression "puVar16[2]" (identifier "puVar16") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar18 = puVar16[3];" (assignment_expression "uVar18 = puVar16[3]" (identifier "uVar18") (= "=") (subscript_expression "puVar16[3]" (identifier "puVar16") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar10 = puVar16[4];" (assignment_expression "uVar10 = puVar16[4]" (identifier "uVar10") (= "=") (subscript_expression "puVar16[4]" (identifier "puVar16") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);" (assignment_expression "uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (identifier "uVar19") (= "=") (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |\n                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (binary_expression "(*(ushort *)((int)puVar16 + 6) & 0xff) << 8" (parenthesized_expression "(*(ushort *)((int)puVar16 + 6) & 0xff)" (( "(") (binary_expression "*(ushort *)((int)puVar16 + 6) & 0xff" (pointer_expression "*(ushort *)((int)puVar16 + 6)" (* "*") (cast_expression "(ushort *)((int)puVar16 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 6)" (( "(") (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "6")) () ")")))) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (call_expression "(uint)(*(ushort *)((int)puVar16 + 6) >> 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(ushort *)((int)puVar16 + 6) >> 8)" (( "(") (binary_expression "*(ushort *)((int)puVar16 + 6) >> 8" (pointer_expression "*(ushort *)((int)puVar16 + 6)" (* "*") (cast_expression "(ushort *)((int)puVar16 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 6)" (( "(") (binary_expression "(int)puVar16 + 6" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "6")) () ")")))) (>> ">>") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar5 = puVar16[5];" (assignment_expression "uVar5 = puVar16[5]" (identifier "uVar5") (= "=") (subscript_expression "puVar16[5]" (identifier "puVar16") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (identifier "uVar2") (= "=") (binary_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10" (binary_expression "(uVar2 >> 0x10) << 0x18" (parenthesized_expression "(uVar2 >> 0x10)" (( "(") (binary_expression "uVar2 >> 0x10" (identifier "uVar2") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 >> 0x18) << 0x10" (parenthesized_expression "(uVar2 >> 0x18)" (( "(") (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff)" (( "(") (binary_expression "(uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (identifier "iVar7") (= "=") (binary_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10" (binary_expression "(uVar18 >> 0x10) << 0x18" (parenthesized_expression "(uVar18 >> 0x10)" (( "(") (binary_expression "uVar18 >> 0x10" (identifier "uVar18") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar18 >> 0x18) << 0x10" (parenthesized_expression "(uVar18 >> 0x18)" (( "(") (binary_expression "uVar18 >> 0x18" (identifier "uVar18") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff)" (( "(") (binary_expression "(uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff" (binary_expression "(uVar18 & 0xff) << 8" (parenthesized_expression "(uVar18 & 0xff)" (( "(") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar18 >> 8 & 0xff" (binary_expression "uVar18 >> 8" (identifier "uVar18") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (identifier "iVar9") (= "=") (binary_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10" (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" (( "(") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar10 >> 0x18) << 0x10" (parenthesized_expression "(uVar10 >> 0x18)" (( "(") (binary_expression "uVar10 >> 0x18" (identifier "uVar10") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff)" (( "(") (binary_expression "(uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff" (binary_expression "(uVar10 & 0xff) << 8" (parenthesized_expression "(uVar10 & 0xff)" (( "(") (binary_expression "uVar10 & 0xff" (identifier "uVar10") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar10 >> 8 & 0xff" (binary_expression "uVar10 >> 8" (identifier "uVar10") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (identifier "iVar8") (= "=") (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")))) (; ";")) (if_statement "if (uVar19 == 0xfff1) {\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }\n          else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }" (if "if") (parenthesized_expression "(uVar19 == 0xfff1)" (( "(") (binary_expression "uVar19 == 0xfff1" (identifier "uVar19") (== "==") (number_literal "0xfff1")) () ")")) (compound_statement "{\n            local_3c = iVar4;\n            (*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);\n            iVar4 = local_3c;\n          }" ({ "{") (expression_statement "local_3c = iVar4;" (assignment_expression "local_3c = iVar4" (identifier "local_3c") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "(*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);" (call_expression "(*(code *)PTR_define_as_constant_004c27d4)\n                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0)" (parenthesized_expression "(*(code *)PTR_define_as_constant_004c27d4)" (( "(") (pointer_expression "*(code *)PTR_define_as_constant_004c27d4" (* "*") (cast_expression "(code *)PTR_define_as_constant_004c27d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_define_as_constant_004c27d4"))) () ")")) (argument_list "(param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,\n                       *(byte *)((int)puVar16 + 5) & 3,0,0,0)" (( "(") (identifier "param_2") (, ",") (identifier "puVar14") (, ",") (number_literal "0") (, ",") (number_literal "6") (, ",") (identifier "iVar7") (, ",") (identifier "uVar2") (, ",") (identifier "iVar8") (, ",") (identifier "iVar9") (, ",") (identifier "uVar15") (, ",") (identifier "local_50") (, ",") (binary_expression "*(byte *)((int)puVar16 + 5) & 3" (pointer_expression "*(byte *)((int)puVar16 + 5)" (* "*") (cast_expression "(byte *)((int)puVar16 + 5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 5)" (( "(") (binary_expression "(int)puVar16 + 5" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "5")) () ")")))) (& "&") (number_literal "3")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar4 = local_3c;" (assignment_expression "iVar4 = local_3c" (identifier "iVar4") (= "=") (identifier "local_3c")) (; ";")) (} "}")) (else_clause "else {\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }" (else "else") (compound_statement "{\n            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);\n            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }\n            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;\n            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);\n            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);\n            local_3c = iVar12;\n            if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }\n            iVar7 = local_3c;\n            local_3c = iVar4;\n            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);\n            iVar4 = local_3c;\n          }" ({ "{") (expression_statement "iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);" (assignment_expression "iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x90) + 0x5c)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x90) + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x90) + 0x5c)" (( "(") (binary_expression "*(int *)(param_1 + 0x90) + 0x5c" (pointer_expression "*(int *)(param_1 + 0x90)" (* "*") (cast_expression "(int *)(param_1 + 0x90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")")))) (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "uVar19 * 4" (identifier "uVar19") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }" (if "if") (parenthesized_expression "((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15))" (( "(") (binary_expression "(iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)" (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(-1 < *(int *)(iVar12 + 0x98) << 0x15)" (( "(") (binary_expression "-1 < *(int *)(iVar12 + 0x98) << 0x15" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar12 + 0x98) << 0x15" (pointer_expression "*(int *)(iVar12 + 0x98)" (* "*") (cast_expression "(int *)(iVar12 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x98)" (( "(") (binary_expression "iVar12 + 0x98" (identifier "iVar12") (+ "+") (number_literal "0x98")) () ")")))) (<< "<<") (number_literal "0x15"))) () ")"))) () ")")) (compound_statement "{\n              iVar4 = 0x8ae;\n              goto LAB_0019c214;\n            }" ({ "{") (expression_statement "iVar4 = 0x8ae;" (assignment_expression "iVar4 = 0x8ae" (identifier "iVar4") (= "=") (number_literal "0x8ae")) (; ";")) (goto_statement "goto LAB_0019c214;" (goto "goto") (statement_identifier "LAB_0019c214") (; ";")) (} "}"))) (if_statement "if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar12 + 0x20))" (( "(") (binary_expression "-1 < *(int *)(iVar12 + 0x20)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar12 + 0x20)" (* "*") (cast_expression "(int *)(iVar12 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x20)" (( "(") (binary_expression "iVar12 + 0x20" (identifier "iVar12") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (goto_statement "goto LAB_0019c238;" (goto "goto") (statement_identifier "LAB_0019c238") (; ";"))) (expression_statement "uVar15 = uVar2 - *(int *)(iVar12 + 0xc);" (assignment_expression "uVar15 = uVar2 - *(int *)(iVar12 + 0xc)" (identifier "uVar15") (= "=") (binary_expression "uVar2 - *(int *)(iVar12 + 0xc)" (identifier "uVar2") (- "-") (pointer_expression "*(int *)(iVar12 + 0xc)" (* "*") (cast_expression "(int *)(iVar12 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")")))))) (; ";")) (expression_statement "iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);" (assignment_expression "iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15)" (identifier "iVar7") (= "=") (binary_expression "(iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15)" (parenthesized_expression "(iVar7 - *(int *)(iVar12 + 8))" (( "(") (binary_expression "iVar7 - *(int *)(iVar12 + 8)" (identifier "iVar7") (- "-") (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")"))))) () ")")) (- "-") (call_expression "(uint)(uVar2 < uVar15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar2 < uVar15)" (( "(") (binary_expression "uVar2 < uVar15" (identifier "uVar2") (< "<") (identifier "uVar15")) () ")"))))) (; ";")) (expression_statement "local_3c = iVar12;" (assignment_expression "local_3c = iVar12" (identifier "local_3c") (= "=") (identifier "iVar12")) (; ";")) (if_statement "if (iVar8 != 0 || iVar9 != 0) {\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }" (if "if") (parenthesized_expression "(iVar8 != 0 || iVar9 != 0)" (( "(") (binary_expression "iVar8 != 0 || iVar9 != 0" (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n              local_38 = uVar15;\n              local_34 = iVar8;\n              local_30 = iVar7;\n              local_2c = iVar4;\n              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);\n              iVar4 = local_2c;\n            }" ({ "{") (expression_statement "local_38 = uVar15;" (assignment_expression "local_38 = uVar15" (identifier "local_38") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "local_34 = iVar8;" (assignment_expression "local_34 = iVar8" (identifier "local_34") (= "=") (identifier "iVar8")) (; ";")) (expression_statement "local_30 = iVar7;" (assignment_expression "local_30 = iVar7" (identifier "local_30") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "local_2c = iVar4;" (assignment_expression "local_2c = iVar4" (identifier "local_2c") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "(*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);" (call_expression "(*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9)" (parenthesized_expression "(*(code *)PTR_reserve_004c3a5c)" (( "(") (pointer_expression "*(code *)PTR_reserve_004c3a5c" (* "*") (cast_expression "(code *)PTR_reserve_004c3a5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_reserve_004c3a5c"))) () ")")) (argument_list "(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9)" (( "(") (identifier "iVar12") (, ",") (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "iVar7") (, ",") (identifier "uVar15") (, ",") (identifier "iVar8") (, ",") (identifier "iVar9") () ")"))) (; ";")) (expression_statement "iVar4 = local_2c;" (assignment_expression "iVar4 = local_2c" (identifier "iVar4") (= "=") (identifier "local_2c")) (; ";")) (} "}"))) (expression_statement "iVar7 = local_3c;" (assignment_expression "iVar7 = local_3c" (identifier "iVar7") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "local_3c = iVar4;" (assignment_expression "local_3c = iVar4" (identifier "local_3c") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" (( "(") (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" (* "*") (cast_expression "(code *)PTR_define_in_output_data_004c1b10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_define_in_output_data_004c1b10"))) () ")")) (argument_list "(param_2,puVar14,0,6,iVar7)" (( "(") (identifier "param_2") (, ",") (identifier "puVar14") (, ",") (number_literal "0") (, ",") (number_literal "6") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "iVar4 = local_3c;" (assignment_expression "iVar4 = local_3c" (identifier "iVar4") (= "=") (identifier "local_3c")) (; ";")) (} "}")))) (} "}"))) (} "}"))) (} "}")))) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" (identifier "uVar6") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = *(int *)(param_1 + 0x90);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x90)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 0x90)" (* "*") (cast_expression "(int *)(param_1 + 0x90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(iVar7 + 0x68);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x68)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar7 + 0x68)" (* "*") (cast_expression "(int *)(iVar7 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x68)" (( "(") (binary_expression "iVar7 + 0x68" (identifier "iVar7") (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "*(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;" (assignment_expression "*(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4" (pointer_expression "*(int *)(*(int *)(param_1 + 0xbc) + iVar17)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0xbc) + iVar17)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0xbc) + iVar17)" (( "(") (binary_expression "*(int *)(param_1 + 0xbc) + iVar17" (pointer_expression "*(int *)(param_1 + 0xbc)" (* "*") (cast_expression "(int *)(param_1 + 0xbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xbc)" (( "(") (binary_expression "param_1 + 0xbc" (identifier "param_1") (+ "+") (number_literal "0xbc")) () ")")))) (+ "+") (identifier "iVar17")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;" (assignment_expression "*(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4" (pointer_expression "*(int *)(iVar8 + (local_44 + iVar13) * 4)" (* "*") (cast_expression "(int *)(iVar8 + (local_44 + iVar13) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + (local_44 + iVar13) * 4)" (( "(") (binary_expression "iVar8 + (local_44 + iVar13) * 4" (identifier "iVar8") (+ "+") (binary_expression "(local_44 + iVar13) * 4" (parenthesized_expression "(local_44 + iVar13)" (( "(") (binary_expression "local_44 + iVar13" (identifier "local_44") (+ "+") (identifier "iVar13")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (uVar6 == local_4c) {\n      return;\n    }" (if "if") (parenthesized_expression "(uVar6 == local_4c)" (( "(") (binary_expression "uVar6 == local_4c" (identifier "uVar6") (== "==") (identifier "local_4c")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (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)))))) 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: (number_literal))))))) (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))))) (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)) (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (call_expression function: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (pointer_expression argument: (pointer_expression argument: (MISSING identifier)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (pointer_expression argument: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) right: (identifier))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (call_expression function: (parenthesized_expression (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (false) right: (pointer_expression argument: (pointer_expression argument: (MISSING identifier)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (pointer_expression argument: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (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))))))) (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: (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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (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: (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (identifier)) right: (binary_expression left: (parenthesized_expression (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)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))))) (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: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) 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: (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: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_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))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))))) (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: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (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)))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) (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: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (comma_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)) right: (binary_expression left: (false) right: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (binary_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (comma_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)) right: (binary_expression left: (false) right: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (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: (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: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) 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)) 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: (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: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (goto_statement label: (statement_identifier))) (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: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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))))) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement)))) condition: (parenthesized_expression (true))))))

void MASKED(int param_1,undefined4 param_2)

{
  uint *puVar1;
  uint uVar2;
  byte bVar3;
  int iVar4;
  uint uVar5;
  uint uVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  uint uVar10;
  uint uVar11;
  int iVar12;
  int iVar13;
  undefined *puVar14;
  uint uVar15;
  uint *puVar16;
  int iVar17;
  uint uVar18;
  uint uVar19;
  undefined4 local_80;
  char local_7c;
  undefined1 local_7b;
  ushort local_7a;
  uint local_78;
  uint local_74;
  uint local_70;
  uint local_6c;
  int local_68;
  uint local_64;
  uint local_60;
  int local_5c;
  undefined4 *local_58 [2];
  int local_50;
  uint local_4c;
  undefined4 **local_48;
  int local_44;
  undefined *local_40;
  int local_3c;
  uint local_38;
  int local_34;
  int local_30;
  int local_2c;
  
  local_58[0] = &local_80;
  if ((1 < *(byte *)(param_1 + 0x9f) - 1) && (*(byte *)(param_1 + 0x9f) != 4)) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);
  }
  uVar6 = *(int *)(param_1 + 0xc0) - *(int *)(param_1 + 0xbc) >> 2;
  uVar15 = *(uint *)(**(int **)(param_1 + 0x98) + *(int *)(param_1 + 0xa4) + 4);
  local_4c = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;
  if (uVar6 < local_4c) {
    (*(code *)PTR__M_default_append_004c3664)(param_1 + 0xbc,local_4c - uVar6);
    local_5c = 0;
    local_68 = 0;
    local_64 = 0;
    gold::Sized_incremental_binary<64,false>::get_symtab_view
              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,
               (Elf_strtab *)&local_68);
    iVar7 = *(int *)(param_1 + 0x90);
    iVar4 = *(int *)(iVar7 + 0xc0);
    uVar6 = *(uint *)(iVar7 + 0xc4);
    if (iVar4 < 0) {
      uVar6 = ((uint)(uVar6 + 3 < uVar6) + iVar4) * 0x40000000 | uVar6 + 3 >> 2;
    }
    else {
      uVar6 = iVar4 << 0x1e | uVar6 >> 2;
    }
  }
  else {
    if ((local_4c < uVar6) &&
       (iVar4 = *(int *)(param_1 + 0xbc) + local_4c * 4, *(int *)(param_1 + 0xc0) != iVar4)) {
      *(int *)(param_1 + 0xc0) = iVar4;
    }
    local_5c = 0;
    local_68 = 0;
    local_64 = 0;
    gold::Sized_incremental_binary<64,false>::get_symtab_view
              (*(Sized_incremental_binary<64,false> **)(param_1 + 0x90),(View *)&local_5c,&local_60,
               (Elf_strtab *)&local_68);
    iVar7 = *(int *)(param_1 + 0x90);
    iVar4 = *(int *)(iVar7 + 0xc0);
    uVar15 = *(uint *)(iVar7 + 0xc4);
    uVar6 = uVar15;
    if (iVar4 < 0) {
      uVar6 = uVar15 + 3;
      iVar4 = (uint)(uVar6 < uVar15) + iVar4;
    }
    uVar6 = iVar4 << 0x1e | uVar6 >> 2;
    if (local_4c == 0) {
      return;
    }
  }
  local_44 = uVar6 - local_60;
  local_48 = local_58;
  uVar6 = 0;
  local_40 = PTR_s_in_a_linker_script_004c191c + 0x6db8;
  do {
    if (1 < *(byte *)(param_1 + 0x9f) - 1) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);
    }
    iVar17 = uVar6 * 4;
    iVar4 = **(int **)(param_1 + 0x98);
    iVar8 = *(int *)(param_1 + 0xa4) + 0x20;
    uVar15 = *(uint *)(iVar4 + *(int *)(param_1 + 0xa4));
    puVar1 = (uint *)(iVar4 + uVar6 * 0x14 + iVar8 +
                              ((((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
                              ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000) * 0x18);
    uVar15 = *puVar1;
    iVar13 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;
    puVar16 = (uint *)(local_5c + iVar13 * 0x18);
    uVar15 = *puVar16;
    uVar15 = (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
             ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;
    puVar14 = local_40;
    if (uVar15 < local_64) {
      puVar14 = (undefined *)(local_68 + uVar15);
    }
    local_50 = (int)(uint)*(byte *)(puVar16 + 1) >> 4;
    uVar15 = *(byte *)(puVar16 + 1) & 0xf;
    if (local_50 == 0) {
      uVar18 = puVar1[1];
      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
      uVar18 = uVar19 - 1;
      local_50 = 1;
      if (0xfffffffd < uVar18) goto LAB_0019bf08;
LAB_0019bd28:
      uVar2 = puVar16[2];
      uVar5 = puVar16[3];
      uVar10 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |
               (uint)(*(ushort *)((int)puVar16 + 6) >> 8);
      iVar9 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
              ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
      uVar11 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
               ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;
      if (uVar10 == 0xfff1) {
        local_7a = 0xf1ff;
      }
      else {
        if (uVar10 == 0) {
          iVar4 = 0x884;
LAB_0019c214:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xee0,iVar4,PTR_s__s_004c1a50 + 0x1bf0);
        }
        iVar7 = *(int *)(*(int *)(iVar7 + 0x5c) + uVar10 * 4);
        if ((iVar7 == 0) || (-1 < *(int *)(iVar7 + 0x98) << 0x15)) {
          iVar4 = 0x886;
          goto LAB_0019c214;
        }
        iVar4 = iVar4 + uVar18 * 0x18 + iVar8;
        uVar5 = *(uint *)(iVar4 + 4);
        uVar18 = *(uint *)(iVar4 + 8);
        uVar2 = *(uint *)(iVar4 + 0xc);
        if (uVar10 != (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                      ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000) {
          iVar4 = 0x889;
          goto LAB_0019c214;
        }
        uVar5 = uVar11;
        if (uVar15 != 6) {
          if (-1 < *(int *)(iVar7 + 0x20)) {
LAB_0019c238:
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable
                      (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xc5,
                       PTR_s__s_004c1a50 + 0x25d8);
          }
          uVar5 = uVar11 - *(int *)(iVar7 + 0xc);
          iVar9 = (iVar9 - *(int *)(iVar7 + 8)) - (uint)(uVar11 < uVar5);
        }
        uVar18 = uVar5 - ((((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000);
        uVar5 = (iVar9 - ((((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000)) -
                (uint)(uVar5 < uVar18);
        local_7a = (ushort)((uVar19 & 0xff) << 8) | (ushort)(uVar19 >> 8) & 0xff;
        uVar2 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
                ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
        uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
      }
      local_6c = puVar16[5];
      local_7c = (char)uVar15 + (char)local_50 * '\x10';
      local_70 = puVar16[4];
      local_80 = 0;
      local_7b = *(undefined1 *)((int)puVar16 + 5);
      local_78 = uVar2;
      local_74 = uVar5;
      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)
      ;
      *(int *)(param_1 + 200) = *(int *)(param_1 + 200) + 1;
    }
    else {
      uVar18 = puVar1[1];
      uVar19 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
               ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
      uVar18 = uVar19 - 1;
      if (uVar18 < 0xfffffffe) goto LAB_0019bd28;
LAB_0019bf08:
      local_6c = puVar16[5];
      local_74 = 0;
      local_78 = 0;
      local_70 = puVar16[4];
      local_7c = (char)uVar15 + (char)local_50 * '\x10';
      local_80 = 0;
      local_7b = *(undefined1 *)((int)puVar16 + 5);
      local_7a = 0;
      iVar4 = (*(code *)PTR_add_from_incrobj<64,false>_004c3ae4)(param_2,param_1,puVar14,0,local_48)
      ;
      if (uVar19 == 0xffffffff) {
        uVar18 = *(uint *)(iVar4 + 0x28) & 0xe000;
        if (uVar18 == 0) {
          if ((int)(*(uint *)(iVar4 + 0x28) << 0x1d) < 0) {
            bVar3 = *(int *)(iVar4 + 0xc) != 0;
          }
          else {
            local_3c = iVar4;
            bVar3 = (*(code *)PTR_is_common_shndx_004c1ccc)();
            bVar3 = bVar3 ^ 1;
            iVar4 = local_3c;
          }
        }
        else {
          bVar3 = uVar18 != 0x8000;
        }
        if (bVar3 == 0) {
          uVar2 = puVar16[2];
          uVar18 = puVar16[3];
          uVar10 = puVar16[4];
          uVar19 = (*(ushort *)((int)puVar16 + 6) & 0xff) << 8 |
                   (uint)(*(ushort *)((int)puVar16 + 6) >> 8);
          uVar5 = puVar16[5];
          uVar2 = (((uVar2 >> 0x10) << 0x18 | (uVar2 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar2 & 0xff) << 8 | uVar2 >> 8 & 0xff) * 0x10000;
          iVar7 = (((uVar18 >> 0x10) << 0x18 | (uVar18 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar18 & 0xff) << 8 | uVar18 >> 8 & 0xff) * 0x10000;
          iVar9 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;
          iVar8 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
          if (uVar19 == 0xfff1) {
            local_3c = iVar4;
            (*(code *)PTR_define_as_constant_004c27d4)
                      (param_2,puVar14,0,6,iVar7,uVar2,iVar8,iVar9,uVar15,local_50,
                       *(byte *)((int)puVar16 + 5) & 3,0,0,0);
            iVar4 = local_3c;
          }
          else {
            iVar12 = *(int *)(*(int *)(*(int *)(param_1 + 0x90) + 0x5c) + uVar19 * 4);
            if ((iVar12 == 0) || (-1 < *(int *)(iVar12 + 0x98) << 0x15)) {
              iVar4 = 0x8ae;
              goto LAB_0019c214;
            }
            if (-1 < *(int *)(iVar12 + 0x20)) goto LAB_0019c238;
            uVar15 = uVar2 - *(int *)(iVar12 + 0xc);
            iVar7 = (iVar7 - *(int *)(iVar12 + 8)) - (uint)(uVar2 < uVar15);
            local_3c = iVar12;
            if (iVar8 != 0 || iVar9 != 0) {
              local_38 = uVar15;
              local_34 = iVar8;
              local_30 = iVar7;
              local_2c = iVar4;
              (*(code *)PTR_reserve_004c3a5c)(iVar12,*(int *)(iVar12 + 8),iVar7,uVar15,iVar8,iVar9);
              iVar4 = local_2c;
            }
            iVar7 = local_3c;
            local_3c = iVar4;
            (*(code *)PTR_define_in_output_data_004c1b10)(param_2,puVar14,0,6,iVar7);
            iVar4 = local_3c;
          }
        }
      }
    }
    uVar6 = uVar6 + 1;
    iVar7 = *(int *)(param_1 + 0x90);
    iVar8 = *(int *)(iVar7 + 0x68);
    *(int *)(*(int *)(param_1 + 0xbc) + iVar17) = iVar4;
    *(int *)(iVar8 + (local_44 + iVar13) * 4) = iVar4;
    if (uVar6 == local_4c) {
      return;
    }
  } while( true );
}

